机器学习笔记-day07
十七、大规模机器学习
17.1 大型数据集的学习
一个获取高性能的机器学习系统的途径:采用低偏秩学习算法。

可以先取出一小部分的数据,绘制学习曲线,这样就能很快判断出,是要调整算法,还是要使用更多的数据。
如上图:左侧曲线,如果有跟多的数据,两者就会拟合。
右侧曲线,更多的数据,并不能带来更大的改善。
17.2 随机梯度下降法

随机梯度下降算法在每一次计算之后便更新参数\(\theta\),而不需要首先将所有的训练集求和,在梯度下降算法还没有完成一次迭代时,随机梯度下降算法便已经走出了很远。但是这样的算法存在的问题是,不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。
17.3 小批量梯度下降
批量梯度下降,一次处理\(m\)个样本
随机题图下降,一次处理1个样本
小批量梯度下降,一次处理\(b\)个样本,通常在\(2 \sim 200\) 之间
17.4 随机梯度下降收敛


曲线3,需要更大的学习率,或者算法就是错的。
曲线4,需要更小的学习率。
随机梯度下降,最终的结果只是接近最小值,而并没有达到最小值。想要在接近终点时更平滑,可以是学习率逐渐减小而不是固定不变。
\(\alpha = \frac{const 1}{iteration\,Number + const2}\)
随着我们不断地靠近全局最小值,通过减小学习率,我们迫使算法收敛而非在最小值附近徘徊。 但是通常我们不需要这样做便能有非常好的效果了,对进行调整\(\alpha\)所耗费的计算通常不值得
17.5 在线学习
适用于用户新增、或者用户习惯变化的场景。
在线学习的算法与随机梯度下降算法有些类似,我们对单一的实例进行学习,而非对一个提前定义的训练集进行循环。
17.6 Map-reduce和数据并行
将计算量分派的多个机器,然后整合


十八、应用实例:图片文字识别
18.1 问题描述和流程图


18.2 滑动窗口
1,使用不同尺寸的窗口对图像进行剪裁,判断,然后重新剪裁
2,按照比例放大剪裁区域,重复步骤1
18.3 获取大量数据和人工数据
1,利用字库
2,对现有的数据进行修改
获取更多数据的方法:
1,人工数据合成
2,手动手机、标记数据
3,众包
18.4 上限分析
对问题进行模块拆分,然后对流程进行分析,确定那部分是最能提升最终结果的,优先处理。
判断的办法:可以先手动处理一些数据,分析这次的处理能够带来多大的提升。
十九、总结

浙公网安备 33010602011771号