Python3入门机器学习之1.4批量学习,在线学习,参数学习和非参数学习

Python3入门机器学习

1.4批量学习,在线学习,参数学习和非参数学习

(1).在线学习和批量学习(离线学习)

批量学习(Batch Learning)

首先收集一定量的样本资料,将这些样本资料送给机器学习算法,训练出一个模型。当我们训练出这个模型之后直接将这个模型投入到生产环境中,应用时有新的样例送进来通过我们的模型来预测出相应的结果。这个过程中我们的模型不会再发生任何的变化。

Python3入门机器学习之1.4批量学习,在线学习,参数学习和非参数学习

  • 优点:简单。我们只需要学习一个机器学习算法本身,不需要考虑当这个算法投入到生产环境中以后面对新的数据我们怎样逐步来优化我们的算法。
  • 问题:如何适应环境的变化?
    解决方案:定时重新批量学习。
  • 缺点:每次重新批量学习,运算量巨大;在某些环境变化非常快的情况下,甚至不可能(如:股市)。

在线学习(Online Learning)
在线学习的整体机器学习算法的流程和批量学习是相同的。区别在于每次我们输入样例进入模型得到预期的结果之后,同时输入样例并不浪费掉,将它得到的结果仍然用作样本资料送给机器学习算法,来改进我们的模型。
Python3入门机器学习之1.4批量学习,在线学习,参数学习和非参数学习

  • 优点:及时反映新的环境变化
  • 问题:新的数据带来不好的变化?
    解决方案:需要加强对数据进行监控。
  • 其他:也适用于数据量巨大,完全无法批量学习的环境。

(2).参数学习和非参数学习
①参数学习
比如,如图:整个机器学习的过程就是想办法找到参数a和b的值。
Python3入门机器学习之1.4批量学习,在线学习,参数学习和非参数学习
特点:一旦学到了参数,就不再需要原有的数据集。

②非参数学习
不对模型进行过多假设。
非参数不等于没参数!