线性回归与梯度下降
现实生活中我们可以通过一个房子的地点、楼层、朝向等信息(在机器学习中称这些信息为feature,特征)估算一个房子的平米价格。估算价格时我们需要知道一些房子的数据,我们凭空去猜一个房子的价格得到准确结果的概率不大。这些我们事先知道的房子数据被称为训练数据。
可以看成我们脑海中有一个函数帮助我们估计结果的值。在计算机中去拟合训练数据,也就说我们通过函数得到的结果不会和实际结果差的太远。
设我们的函数为
y=θx
如果有i个特征那么函数就是
h(θ)=∑iθixi
得到的结果为y
为了知道预测结果准确与否我们设定了消耗函数(costfuction)
J(θ)=12∑(h(θ)−y)2
我们希望消耗函数的值越小越好,以为消耗函数代表我们预测结果和实际结果的误差。
下面我们使用梯度下降的方法求解。假设我们只有一条数据,那么对于第j个参数的变化就是:
θj=θj−α∂J(θ)∂θj
∂J(θ)∂θj=∂∂θj12(hθ(x)−y)2
=212(h(θ)−y)∂∂θj(hθ(x)−y)
=(h(θ)−y)∂∂θj(hθ(x)−y)
=(h(θ)−y)∂∂θj(∑i=0nθixi−y)
=(hθ(x)−y)xj
其中alpha为下降的步长,步长不宜过大,过大了会越过极点,也不宜过小,过小会下降很慢。