自学机器学习以来,因为非科班出身,学的很吃力,总觉得自己还差的太多太多,一直希望写下自己的理解,择日不如撞日,今天心血来潮,就这样开始吧,就为写着自己能理解读着舒服,顺带记录自己的成长。打算公开出来,帮助别人不敢说,希望能让人指出自己的错误与不足。
1.理论简述
例如我们想要预测一个地方的二手房房价。房价受到房屋使用时间,占地面积,附近是否具备学校医院等因素的影响,我们已经拥有了一些具体数据,但总是有限的,我们希望回归出这样一条线,当我们获得了新的房屋使用时间,平均占地面积......的时候,只需要输入进那条线的公式中,便能预测的与真实价值十分接近的房价。用公式就可以写为:
(此处未引入偏置b,在2.2中有提到)
其中,y表示房价,而不同下标的x便是各种信息,如就是房屋使用的时间,就是它的系数,是决定房屋使用时间会如何影响y房价的,也是我们想要求的。
我们最开始什么也不知道,那就直接来个简单的初始化,比如直接假设所有w都是0,那么无论这些信息是多少,是不是学区房,使用了多少年,算出来房价都是0,这里记作=0,表示预测的值。这显然和真实值差距太大,那么接下来我们需要做的就是去让这些w一点点“找回自己”,让慢慢“找回”本来应该得到的y,我认为这里也贴合了”回归“的主题。
1.1如何找回
有了我们最先算的0(当然,绝大多数情况初始化远不会直接用一堆0,为了提高效率,实践中会倾向更合理的初始化,但我才疏学浅,希望将来不久就能学到原理),我们就可以看到它与本来的值的差距,比如该地一套房子价值100万。我们计算的是0万元,那么它们的差就是,我们希望调整w的值来让差变小。可是,我们有时候会遇到初始化不是都是0的情况,如果是其他数字,我们可能得到大于100万的结果,那么差()算下来就变成负