第二章以单变量线性回归为例,介绍了线性回归的相关概念,这一章我们会从一个变量延申到多个变量。
1、假设函数:
单变量线性回归中变量为x,假设函数为h=kx+b;
在多变量线性回归中变量为x0,x1,x2,······xn,则假设函数为h=k0+k1x1+k2x2+k3x3+······+knxn,不妨令x0=1,则假设函数还可以写作:h=k0x0+k1x1+k2x2+······+knxn,设x=[x0,x1,x2······xn]',k=[k0,k1,k2······kn]'。则h=k'x。
2、模型参数:k0,k1,k2······kn
3、代价函数:
J(k0,k1,k2···kn)=1/(2*训练样本数) *(h(xi)-yi)^2 ,此处xi为向量,xi=[xi0,xi1,xi2···xin]’。
4、梯度下降公式:
将代价函数代入化简后,得:
其中代表第i个样本,代表中第j个元素,m为训练样本数
5、特征缩放:
我们知道多变量线性回归中有多个变量,在梯度下降算法中,要通过逐步更新收敛到局部最小值,然而若xi与xj(i不等于j)相差过大,例如:x1=20000,x2=10;那梯度会花费很多时间才能到达局部最优点,在过程中还会来回波动。所以,我们会通过特征缩放,使得xi大约都处于【-1,1】这个区间内,这里注意几点:一是这个区间只是大约而已,【-0.5,3】,【-2,2】也都可以;二是过大不行,例如【-50,50】就不行了;三是过小也不行,例如【-0.0000001,0.00001】也不行。
那怎么进行特征缩放呢,有两个方法:
法一:xi=xi/max(xi)即可(一般xi存在范围)
法二:设ri为xi得各个值得平均值,则xi=(xi-ri)/(max(xi)-min(xi)) 即可
简单来说,特征缩放只是为了让梯度下降运行得更快一些,收敛所需迭代次数减少一些而已
BY ZJQ