线性回归可以说是机器学习的入门理论之一,想用代码实现线性回归模型,我们先来了解一下它的理论吧。
线性模型
线性模型(Linear model)试图学得一个通过属性的线性组合来进行预测的函数。

f(x)=w1x1+w2x2+...+wdxd+b向量形式:f(x)=wTx+b f(x)=w_1x_1+w_2x_2+...+w_dx_d+b\\ 向量形式:f(x)=w^Tx+b f(x)=w1x1+w2x2+...+wdxd+b向量形式:f(x)=wTx+b
线性回归(Linear Regression)
f(x)=wxi+b使得f(xi)≈yi f(x) = wx_{i}+b\qquad使得\qquad f(x_{i})\approx y_{i} f(x)=wxi+b使得f(xi)≈yi
令均方差误差最小化,有
KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲ (w^{*},b^{*}…
对E(w,b)=∑i=1m(yi−wxi−b)2E_{(w,b)}=\sum\limits_{i=1}^{m}(y_{i}-wx_{i}-b)^2E(w,b)=i=1∑m(yi−wxi−b)2进行最小二乘法参数估计
分别对www和bbb求导:
∂E(w.b)=2(w∑i=1mxi2−∑i=1m(yi−b)xi)∂E(w.b)=2(w∑i=1mxi2−∑i=1m(yi−b)xi) \partial E_{(w.b)} = 2(w\sum\limits_{i=1}^mx_i^2-\sum\limits_{i=1}^m(y_{i}-b)x_{i})\\ \partial E_{(w.b)} = 2(w\sum\limits_{i=1}^mx_i^2-\sum\limits_{i=1}^m(y_{i}-b)x_{i}) ∂E(w.b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)∂E(w.b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
令导数为0,得到闭式(closed-form)解:
w=∑i=1myi(xi−x‾)∑i=1mx2−1m(∑i=1mxi)2b=1m∑i=1m(yi−wxi) w=\frac{\sum\limits_{i=1}^my_i(x_i-\overline{x})}{\sum\limits_{i=1}^mx^2-\frac1m(\sum\limits_{i=1}^mx_i)^2} \qquad b=\frac1m\sum\limits_{i=1}^m(y_i-wx_i) w=i=1

本文介绍了线性回归的基础理论,包括线性模型和最小二乘法参数估计。通过Python代码展示了如何实现一元及多元线性回归,并探讨了对数线性回归和广义线性模型的概念。还使用sklearn库进行了多元线性回归的实践应用。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



