task2 【南瓜书ML】线性模型的数学推导(最小二乘估计、广义瑞利商、极大似( 三 )


( c ) 概率视角(极大似然估计)
极大似然估计:用来估计概率分布的的参数值,比如先对一个随机变量确定为正态分布,那么可以通过极大似然估计可以确定该正态分布的2个关键参数——均值和方差,也就确定该唯一的正态分布了 。
假设噪声 ? ∽ N ( 0 , σ 2 ) , y = f ( w ) + ? = w T x + ? \ \ N(0,\sigma^2),y=f(w)+\=w^Tx+\ ?∽N(0,σ2),y=f(w)+?=wTx+?,因此: y ∣ x i , w N ( w T x , σ 2 ) y|x_i,w ~ N(w^Tx,\sigma^2) y∣xi?,wN(wTx,σ2)
我们使用极大似然估计MLE对参数w进行估计:
L ( w ) = l o g P ( Y ∣ X ; w ) = l o g ∏ i = 1 N P ( y i ∣ x i ; w ) = ∑ i = 1 N l o g P ( y i ∣ x i ; w ) = ∑ i = 1 N l o g ( 1 2 π σ e x p ( ? ( y i ? w T x i ) 2 2 σ 2 ) ) = ∑ i = 1 N [ l o g ( 1 2 π σ ) ? 1 2 σ 2 ( y i ? w T x i ) 2 ] a r g m a x w L ( w ) = a r g m i n w [ l ( w ) = ∑ i = 1 N ( y i ? w T x i ) 2 ] 因此:线性回归的最小二乘估计 < = = > 噪声 ? ∽ N ( 0 , σ 2 ) 的极大似然估计 L(w) = log\;P(Y|X;w) = log\;\prod_{i=1}^N P(y_i|x_i;w) = \sum\{i=1}^{N} log\; P(y_i|x_i;w)\\ = \sum\{i=1}^{N}log(\frac{1}{\sqrt{2\pi \sigma}}exp(-\frac{(y_i-w^Tx_i)^2}{2\sigma^2})) = \sum\{i=1}^{N}[log(\frac{1}{\sqrt{2\pi}\sigma})-\frac{1}{2\sigma^2}(y_i-w^Tx_i)^2] \\L(w) = [l(w) = \sum\{i = 1}^{N}(y_i-w^Tx_i)^2]\\ 因此:线性回归的最小二乘估计噪声\\ N(0,\sigma^2)的极大似然估计 L(w)=logP(Y∣X;w)=logi=1∏N?P(yi?∣xi?;w)=i=1∑N?logP(yi?∣xi?;w)=i=1∑N?log(2πσ?1?exp(?2σ2(yi??wTxi?)2?))=i=1∑N?[log(2π?σ1?)?2σ21?(yi??wTxi?)2]?L(w)=?[l(w)=i=1∑N?(yi??wTxi?)2]因此:线性回归的最小二乘估计噪声?∽N(0,σ2)的极大似然估计
下面,我们使用的线性回归实例来演示:
..
from sklearn import linear_model# 引入线性回归方法lin_reg = linear_model.LinearRegression()# 创建线性回归的类lin_reg.fit(X,y)# 输入特征X和因变量y进行训练print("模型系数:",lin_reg.coef_)# 输出模型的系数print("模型得分:",lin_reg.score(X,y))# 输出模型的决定系数R^2
模型系数: [-1.08011358e-014.64204584e-022.05586264e-022.68673382e+00-1.77666112e+013.80986521e+006.92224640e-04 -1.47556685e+003.06049479e-01 -1.23345939e-02 -9.52747232e-019.31168327e-03-5.24758378e-01]模型得分: 0.7406426641094095

task2  【南瓜书ML】线性模型的数学推导(最小二乘估计、广义瑞利商、极大似

文章插图
2.2 线性回归的推广
在线性回归中,我们假设因变量与特征之间的关系是线性关系,这样的假设使得模型很简单,但是缺点也是显然的,那就是当数据存在非线性关系时,我们使用线性回归模型进行预测会导致预测性能极其低下,因为模型的形式本身是线性的,无法表达数据中的非线性关系 。我们一个很自然的想法就是去推广线性回归模型,使得推广后的模型更能表达非线性的关系 。
(a) 多项式回归:
为了体现因变量和特征的非线性关系,一个很自然而然的想法就是将标准的线性回归模型:
y i = w 0 + w 1 x i + ? i y_i = w_0 ++ \ yi?=w0?+w1?xi?+?i?
换成一个多项式函数:
y i = w 0 + w 1 x i + w 2 x i 2 + . . . + w d x i d + ? y_i = w_0 ++ ^2 + ...+^d + \ yi?=w0?+w1?xi?+w2?xi2?+...+wd?xid?+? 对于多项式的阶数d不能取过大,一般不大于3或者4,因为d越大,多项式曲线就会越光滑,在X的边界处有异常的波动 。(图中的边界处的4阶多项式拟合曲线的置信区间(虚线表示置信区间)明显增大,预测效果的稳定性下降 。)
(b) 广义可加模型(GAM):
广义可加模型GAM实际上是线性模型推广至非线性模型的一个框架,在这个框架中,每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性 。GAM模型不仅仅可以用在线性回归的推广,还可以将线性分类模型进行推广 。具体的推广形式是: