小白的机器学习学习笔记(三)---多变量线性回归(1)

第二章以单变量线性回归为例,介绍了线性回归的相关概念,这一章我们会从一个变量延申到多个变量。

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*训练样本数)  *\sum(h(xi)-yi)^2   ,此处xi为向量,xi=[xi0,xi1,xi2···xin]’。

4、梯度下降公式:

ki=ki-\alpha* \partial (J(k0,k1,k2~~kn))/\partial ki i=0,1,2,~~n

将代价函数代入化简后,得:

kj=kj-\alpha *(1/m)*\sum (h(x^i)-y^i)xj^i    其中x^i代表第i个样本,xj^i代表x^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

猜你喜欢

转载自blog.csdn.net/qq_41641805/article/details/81393305