先从简单的线性回归入门,主要是对主要概念进行一个理解,对于以后进阶到其他的算法也有帮助。
对于单参数的线性回归来说,主要的学习任务就是要找到一个一元线性函数,使得函数与数据点最为符合,即用这个函数来拟合这些数据点。而如何判断函数与数据点相符合的程度,就需要通过计算一个损失函数,最简单的例子就是平方差和。通过计算函数值与实际值之间差值平方的和来判断相符合程度,数值越小就认为是越接近。而损失函数中的参数就是目标线性函数中的斜率、截距等。
有了这一基本概念,下一步就是要能够根据损失函数去更新斜率、截距,从而找到所需要的目标函数。这里最基础的就需要用到梯度下降法。形象点来说,当一个人处在山上的某一个地方,想要去到附近一个最低点时,往往要找到附近下降趋势最大的地方,然后迈出一定距离的步子,到达新地点后再重复上一步操作,直到找到最低点。同理,在梯度下降法中,趋势最大的地方可以通过计算损失函数的偏导来得出,步子则是预先设定的学习率,每迈出一步就是在更新参数,最低点就是我们所需要的目标结果。其中,有两个小细节。一个是如何更新参数,我们希望两个参数能够同时进行更新,而不是偏向某一个,因此在计算的时候,先将两个计算结果临时存起来,然后在分别进行更新,保证是同时进行的更新。另一个就是学习率的设置,过小的话会导致学习过程变慢,延长学习的时间;过大的话可能会导致一步跨过最优解,以至于过拟合。
以上所说的都是最简单的情形,而实际情况中往往会复杂很多,这时候就会有其他算法来获得更好的结果。而这其中,线性代数起到了比较关键的作用,是这些算法的基础。因此,明天会简单回顾一下线代的基础知识。
原文:https://www.cnblogs.com/junenatte/p/13040701.html