机器学习--线性回归与梯度算法

线性回归(Linear Regression),亦称为直线回归,即用直线表示的回归,与曲线回归相对。若因变量Y对自变量X1、X2…、Xm的回归方程是线性方程,即μy=β0 +β1X1 +β2X2 +…βmXm,其中β0是常数项,βi是自变量Xi的回归系数,M为任何自然数。这时就称Y对X1、X2、…、Xm的回归为线性回归。

简单回归:

只有一个自变量的线性回归称为简单回归,如下面示例:

X表示某商品的数量,Y表示这些不同数量商品的总价格

x=[0, 1, 2, 3, 4, 5]

y=[0, 17, 45, 55, 85, 99]

二维坐标中绘图如下图:

机器学习--线性回归与梯度算法

 

现在当商品数量 X = 6时,估计商品总价是多少?

我们可以很明显的看到,商品总价随商品的数量上升而上升,这是一个典型的线性回归。

因为只有一个自变量X,我们假设线性回归模型: Y = a * X + b

我们需要求出最合适的a,b值,使得直线:Y = a * X + b 与上图的趋势相拟合,这时候才能去预测不同商品数量X下的总价Y。

最小二乘法:

 为了求出最合适的a b ,我们引入最小二乘法。

最小二乘法,亦称最小二乘法估计。由样本观测值估计总体参数的一种常用方法。它用于从n对观测数据(x1,y1),(x2,y2),……,(xn,yn)确定x与y之间对应关系y=f(x)的一种最佳估计,使得观测值与估计值之差(即偏差)的平方和 H为最小。

机器学习--线性回归与梯度算法

最小二乘法能尽量消除偶然误差的影响,从而由一组观测数据求出最可靠、最可能出现的结果。

由上图我们可以很明显的看出直线Y = a * X + b过原点,即 b = 0

我们尝试不同的a值 得到的结果如下:  

a = 19 时 H = 154

a = 20 时 H = 85

a = 21 时 H = 126

 图像分别如下:

机器学习--线性回归与梯度算法

 

机器学习--线性回归与梯度算法

  

机器学习--线性回归与梯度算法

 

 我们可以粗略得出结论 a = 20,b = 0 时,线性模型 Y = 20 * X 与样本数据拟合的比较好。

所以当商品数量 X = 6 时,我们可以粗略估计总价Y = 20 * 6 = 120

多元回归:

大于一个自变量的线性回归叫做多元回归。

上面的例子只是一个自变量,处理起来比较简单,但是若自变量有很多,假设自变量有m个,为 [ x1,x2,x3,x4.....xm ]

这时候我们假设的回归系数(即权重)也需要有m个,即我们假设的线性模型是 Y =  X0 +  X1*W1 + X2*W2 + X3*W3 + ....... + Xm*Wm 

为了计算方便,我们去W0 = 1

这样:Y =  X0*W0 +  X1*W1 + X2*W2 + X3*W3 + ....... + Xm*Wm

写成向量形式:

W = [W0,W1 , W2 ,W3 , .... ,Wm]   

X = [ X0, X1 , X2 , X3  , .... , Xm]

Y = WT * X (WT为向量W的转置)

观测值与估计值之差(即偏差)的平方和:

机器学习--线性回归与梯度算法

为了方便后面计算,我们在H的左边乘上二分之一,即:

机器学习--线性回归与梯度算法

上面公式中 n 表示训练样本的数目,m 表示每条训练样本 的特征(自变量)个数,

机器学习--线性回归与梯度算法

上标表示属于第 j 个 样本,下标表示第 i 个特征(自变量值),

机器学习--线性回归与梯度算法

表示第 j 个样本总价观测值

现在H是关于W0,W1,W2....Wm的函数,我们需要通过合适的方法求出最适合的W值,才能得出一个比较好的线性回归方程。与简单回归相比,这里我们很难通过观察与尝试不同的w值来求解,我们需要采用最优化算法。

梯度算法:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydxyx.html