采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,课程里说在线学习是分批地送进新数据,是不是说批量学习如果更新的话是把所有更新的数据加到旧数据里打包再次喂给机器学习算法?而在线学习的更新则是每次只喂给新更新的数据包?
那么在线学习的模型是怎么更新的,模型怎么会变得原来越好的,每次产生的模型应该是彼此独立的,因为每次送进的数据是新数据而没有包含旧的数据,算法是怎么利用起以前数据使得模型越来越好的?是不是批量学习重新喂的数据不包含旧数据时,批量学习就变成了在线学习?
这个课程本身没有重点讲在线学习,不过随机梯度下降法本身就是很好的在线学习方式。学习了梯度下降法一章后,或许就会理解如何只通过新的数据来更新模型,让模型越来越好。此时新的数据用于改进原有模型的参数,而不是生成新的模型,所以没有“模型间彼此独立不独立”的问题。旧的数据体现在旧的模型参数上。
好像随机确实有在想的味道,那批量学习提到克服其无法适应环境的这个缺点时,提出的解决方案也是定时使用更新数据,这个更新数据和在线学习法的更新数据有什么区别呢?
批量学习算法是将新的数据和原有旧的数据放在一起,形成新数据集,直接推到原有模型,训练新模型;在线学习是使用新的数据集作为依据,在元悠久的模型的参数基础上基于新数据进行一定的调整。
就是说有的批量学习算法不具有在线更新的能力,所以只能把新数据和旧数据始终一起喂给算法?而有的算法比如随机梯度算法正好可以在线更新参数,没必要把旧数据再输入一次,所以属于在线学习类,可以这样理解吗?
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14