十七: 大规模机器学习

1 因为大量样本训练代价比较高,建议先使用学习曲线评估是否需要这么大的数据量

十七: 大规模机器学习

2 使用随机梯度下降法替代批量梯度下降法,省去训练集求和以随机训练样本数据计算,降低代价:

   但是此方法无法保证每一步都沿着正确方向下降,也可能无法收敛到最小点,在其周边徘徊:

            十七: 大规模机器学习

          十七: 大规模机器学习

 收敛检查:每迭代x次,计算这x次代价均值,绘制图表如下

          十七: 大规模机器学习

          1>  图线下降,是在收敛的

          2>  图线上下浮动不定,可增加x观察是否会下降

          3>  图线上升,模型存在问题

         训练时可以使学习率α随迭代次数增加减小,来迫使算法收敛,但这种计算消耗通常不值得;

3  小批量梯度下降,每次不是取随机一条样本,而是常数个训练实例(建议2-100),一定程度上保证了算法的表现方向。

           十七: 大规模机器学习

4  在线学习:对动态数据流进行学习而非静态数据集

   如:大型寄件网站不断有用户咨询报价,用户提供起始地点,网站反馈报价,用户选择接受/拒绝(即结果),算法如下:

                              十七: 大规模机器学习

   流程是类似于随机梯度下降的,因为用户每次访问都会动态的提供一条新训练样本。

   好处是:模型拥有更好的用户适用性,会随着用户群的样本倾向不断变化而产生变化。

 

5 映射简化和数据并行

对批梯度下降,对于大量训练集循环计算偏导再求和开销非常大,这个时候还有一个方法,将这个大量的训练集分配

给多台计算机(/CPU核心)去并行处理,最后再将结果求和,这样便可以加速处理,称映射简化;

如下将400个训练实例交给4台计算机处理:

十七: 大规模机器学习

 

 

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------

文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!