线性回归

概念

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w’x+e,e为误差服从均值为0的正态分布。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

实例

下图为一元线性回归,它是模拟出一条直线,让已知的数据点尽量落在直线上或直线周围。
线性回归
用公式表示为: f ( x ) = w x + b f(x)=wx+b f(x)=wx+b
w为系数,b为截距。
当这个概念推广到x有n个的时候,即y的最终结果由多个x共同影响,此时有:
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w n x n + b f(x)=w_1x_1+w_2x_2+...+w_nx_n+b f(x)=w1​x1​+w2​x2​+...+wn​xn​+b
设该数据集有m条数据,每条数据都对应着n个x和一个y,则X整体可以用m×n的矩阵来表示,Y整体可以用m×1的矩阵来表示。对于单独一条数据,x可以用m×1的矩阵来表示,而这个y就是一个值。
线性回归

而对于这个单独的数据而言,可以认为 f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w 4 x 4 + w 5 x 5 + b f(x)=w_1x_1+w_2x_2+...+w_4x_4+w_5x_5+b f(x)=w1​x1​+w2​x2​+...+w4​x4​+w5​x5​+b
令 b = w 0 x 0 其 中 w 0 = b , x 0 = 1 b = w_0x_0 其中w_0 = b ,x_0 = 1 b=w0​x0​其中w0​=b,x0​=1
有 f ( x ) = w 0 x 0 + w 1 x 1 + w 2 x 2 + . . . + w 4 x 4 + w 5 x 5 f(x)=w_0x_0+w_1x_1+w_2x_2+...+w_4x_4+w_5x_5 f(x)=w0​x0​+w1​x1​+w2​x2​+...+w4​x4​+w5​x5​
线性回归

当由单独的一条数据推广到全体数据,我们可以得到
f ( x ) = W X T f(x) = WX^T f(x)=WXT
但是这个通过W和T得到的预测值f(x)和实质的y是有差距的,对于他们的平方误差为
c o s s = ∑ i = 1 m ( W x i T − y i ) 2 coss = \sum_{i=1}^m(Wx_i^T-yi)^2 coss=i=1∑m​(WxiT​−yi)2

最终让coss最小,解出W即可。
这样就可以根据给出的数据集得到函数模型,然后把新的X输入(这里维度增加了1,因为x0 = 1),就可以得到新的预测值y。

注:对单独一条数据来讲,我这里把x和w都设置为行向量1×n即
x = [1 2 3]
w = [1 2 3]
也可以设置为列向量,这样的话这样X整体和Y整体会发生变化,f(x)也会变化,此时 f ( x ) = X T W 或 者 f ( x ) = W T X f(x) = X^TW或者f(x) = W^TX f(x)=XTW或者f(x)=WTX
因为对于某个数据来讲,x和w变成了如3×1的数组,将其中一个转置成1×3的数组后再和另外一个3×1的相乘,就可以得到一个确切的数。这样重新设置coss,计算出W即可。详情参照下文另外一种向量表示

上一篇:机器学习实战学习笔记(二)-KNN算法(2)-KNN算法改进约会网站的配对效果


下一篇:【Python】常用数值方法的python实现