监督学习:
训练集是一组有输入,且知道正确输出的数据。
训练的过程即通过这组数据,构建一个函数,使在同样的输入下,这个函数的输出与真实的输出之间的差距尽量小。
这个函数即为预测函数,是我们最终用机器学习到的“知识”。
而评价这个函数的输出与真实的输出之间的差距的准绳我们称之为LOSS,它也是一个函数,针对不同的问题,有各种不同的确定方法。
梯度下降方法:
如图所示,即从一个起始点,寻找可以使这组数据的LOSS函数值之和下降最快的方向,并迈出一小步(学习速度α),不断迭代,最终达到一个区域内的最小值。
举例:
若以这组训练集通过目前的函数所得的结果与真实结果的差的平方之和的二分之一作为LOSS函数(最小二乘数?):
可对这个函数中每个θ(待定系数)求偏导数,最后所得的偏导数的集合即为在这个多维空间中LOSS下降方向的向量。
再用θ向量减去这个向量乘以学习速度α,即
得到新的θ,如此往复,即可得到使这组训练集的误差的和最小的θ,从而得到要学习的函数。
随机梯度下降方法:
梯度下降方法不好的地方在于,每次的迭代都需要遍历整个训练集,如果数据量很大,这个方法就难以实现。
随机梯度下降方法,改变的地方在于:数据有次序地进行训练,每次训练只针对当前的数据(输入以及正确的输出),来对θ进行修正(即不同的数据对于同样的θ来说,步进的方向是不同的)。
这样的话,迭代的次数即为训练集的数据量。得到结果的路程也许的曲折的,但是最终还是能够逼近一个区域内的使LOSS最小的θ值。