基本原理:示例x有d个属性:x = (x1;x2;……;xd),其中xi是x在第i个属性上的取值。

f(x) = w1x1 +w2x2+ …… +wdxd +b

通过学得w和b的值,确定模型

1.一元线性回归

当样本的属性值唯一时,此时,为一元线性回归。比如,通过水果的颜色,来判断水果的类别,外壳绿的是西瓜,红的是苹果,黄的是banana,此时,颜色是样本的唯一属性,是“西瓜”还是“苹果”还是“香蕉”是样本标签。(离散值,可以转化为连续值,如{1.0,0.5,0})

线性回归试图学习到: f(xi) = wxi +b , 使得f(xi) 近似于yi

通常用均方误差作为性能度量的方式:

寻找w,b,使得m个样本的(f(xi)-yi)^2的和最小,越小说明,当前模型和训练样本越贴近

通过求导法可以直接求解出w和b:

E(w,b) = \sum_{i=1}^{m}{(f(x_{i})-y_{i})}^2

\partial E(w,b)/\partial w = \sum_{i=1}^{m}{2wx_{i}^{2}+2(b-y_{i})x_{i}}

\partial E(w,b)/\partial b = \sum_{i=1}^{m}{2b+2(wx_{i}-y_{i})} = 0

最终,直接算出(这俩方程看着比较复杂,但实际上w和b前面的系数都是定值,解的时候,可以把系数当作A,B,最后带入回去就行):

w = \frac{\sum_{i = 1}^{m}{y_{i}(x_{i}-\bar{x})}}{\sum_{i=1}^{m}x_{i}^{2}-\frac{1}{m}(\sum_{i=1}^{m}{x_{i}})^2}

b = \frac{1}{m}\sum_{i=1}^{m}({y_{i}-wx_{i}})

其中 \bar{x}为x的均值。

2.多元线性回归

如果此时,样本有d个属性,那么需要学习的w就从一个单一的值变为了 ,这就是多元线性回归,那要如何来度量这个w的向量值是否学习准确呢,通常采用最小二乘法。(目的是通过找到一组w的值,让最后的误差最小)

找到一个向量w,使得 \sum_{i=1}^{m}{(y_i-w^Tx_i-b)}^2最小,其中x_{i} = (x_{i1},x_{i2},...,x_{id})^T

为了方便计算,把所有的x写为一个矩阵X,并且把w和b统一写成w^ = (w;b)

再把各个y也写成向量形式:y_i = (y_{1};y_{2};y_{3};...;y_{m})

(注意,常用写法中,向量元素之间,用逗号隔开,代表行向量,用分号隔开,代表列向量)

则,最小化的内容为:E_{w} = (y-Xw)^T(y-Xw)

对w求导: 1.先把矩阵乘法展开:变为E_{w} = y^Ty + (Xw)^T(Xw)-y^TXw-(Xw)^Ty

2.由矩阵运算得到(标量的转置还是标量):E_{w} = y^Ty +w^TX^TXw-2wX^Ty^T

3.对w求导:

向量的求导基本公式为:\frac{\delta w^Ta}{\delta w} = a

\frac{\delta w^TAw}{\delta w} = 2Aw

最终,得到X^TXw = X^Ty

当 的逆矩阵存在时,左乘一个逆矩阵,就可以得到:

w = (X^TX)^{-1}X^Ty

如果不存在,则可以得到多个满足条件的w

3.广义线性模型:

g(y) = w^Tx +b, 其中,g为一个函数。

g(y) = lny 的时候,为对数线性回归

4.基本原理与知识总结:

线性回归的基本原理是,y = w^Tx+b ,找到一个w和b,使得最终的均方误差最小

公式推导过程中需要掌握的知识为:求导、矩阵乘法、矩阵运算,以及矩阵与向量的求导。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐