机器学习笔记_多元线性回归

目录

Ch1 多元线性回归

函数模型

函数形式
f ( x ) = θ 0 + θ 1 x 1 + ⋯ + θ p x p f(x)=\theta_{0}+\theta_{1} x_{1}+\cdots+\theta_{p} x_{p} f(x)=θ0+θ1x1++θpxp
向量形式

通常一个向量指的都是列向量,向量的转置是行向量
f ( x ) = ∑ i = 0 p θ i x i = θ T x = x T θ = [ θ 0 θ 1 ⋮ θ p ] [ ( x 0 = 1 ) , x 1 , x 2 , … , x p ] f(x)=\sum_{i=0}^{p} \theta_{i} x_{i}=\boldsymbol{\theta}^{T} x=x^{T} \boldsymbol{\theta} = \left[\begin{array}{c}\theta_{0} \\ \theta_{1} \\ \vdots \\ \theta_{p}\end{array}\right]\left[\left(x_{0}=1\right), x_{1}, x_{2}, \ldots, x_{p}\right] f(x)=i=0pθixi=θTx=xTθ=θ0θ1θp[(x0=1),x1,x2,,xp]
损失函数:最小均方误差MSE:
J ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J(\theta)=\frac{1}{2} \sum_{i=1}^{n}\left(x_{i}^{T} \theta-y_{i}\right)^{2} J(θ)=21i=1n(xiTθyi)2
线性回归模型:求解损失函数的最小值
θ ∗ = a r g m i n J ( θ ) \theta^* = arg minJ(\theta) θ=argminJ(θ)

加入数据后的模型

n组数据

预测值:
Y ^ = X θ = [ X 1 T θ X 2 T θ … X n T θ ] = [ X 11   X 12 … X 1 p X 21   X 22 … X 2 p … X n 1   X n 2 … X n p ] [ θ 0 θ 1 ⋮ θ p ] \hat Y = X\theta=\left[\begin{array}{l} X_1^T\theta \\X_2^T\theta \\ \ldots \\X_n^T\theta \\ \end{array}\right]=\left[\begin{array}{l} X_{11}\space X_{12}\ldots X_{1p}\\X_{21}\space X_{22}\ldots X_{2p} \\ \ldots \\X_{n1}\space X_{n2}\ldots X_{np} \\\end{array}\right]\left[\begin{array}{c}\theta_{0} \\ \theta_{1} \\ \vdots \\ \theta_{p}\end{array}\right] Y^=Xθ=X1TθX2TθXnTθ=X11 X12X1pX21 X22X2pXn1 Xn2Xnpθ0θ1θp
实际值label (n组数据n个label):
Y = [ y 1 y 2 ⋮ y n ] Y =\left[\begin{array}{c}y_1 \\ y_2\\ \vdots \\ y_n\end{array}\right] Y=y1y2yn

模型求解

梯度下降法

Gradient Decent
θ : = θ − α ∇ θ J ( θ ) \theta:=\theta-\alpha \nabla_{\theta} J(\theta) θ:=θαθJ(θ)

J ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J(\theta)=\frac{1}{2} \sum_{i=1}^{n}\left(x_{i}^{T} \theta-y_{i}\right)^{2} J(θ)=21i=1n(xiTθyi)2

其中算子:梯度是偏导数的自然扩展
∇ θ J = [ ∂ J ∂ θ 0 ⋯ ⋯ ∂ J ∂ θ p ] \nabla_{\theta} J=\left[\begin{array}{l}\frac{\partial J}{\partial \theta_{0}} \\ \cdots \\ \cdots \\ \frac{\partial J}{\partial \theta_{p}}\end{array}\right] θJ=θ0JθpJ
求损失函数的偏导:
∂ 1 θ j 2 ( x i T θ − y i ) 2 = ∂ 1 θ j 2 ( ∑ j = 0 p x i , j θ j − y i ) 2 x i = ( x i , 0 , … , x i , p ) T = ( ∑ j = 0 p x i , j θ j − y i ) ∂ θ j ( ∑ j = 0 p x i , j θ j − y i ) = ( f ( x i ) − y i ) x i , j \begin{array}{l}\frac{\partial 1}{\theta_{j} 2}\left(x_{i}^{T} \theta-y_{i}\right)^{2} \\ =\frac{\partial 1}{\theta_{j} 2}\left(\sum_{j=0}^{p} x_{i, j} \theta_{j}-y_{i}\right)^{2} \quad x_{i}=\left(x_{i, 0}, \ldots, x_{i, p}\right)^{T} \\ =\left(\sum_{j=0}^{p} x_{i, j} \theta_{j}-y_{i}\right) \frac{\partial}{\theta_{j}}\left(\sum_{j=0}^{p} x_{i, j} \theta_{j}-y_{i}\right) \\ =\left(f\left(x_{i}\right)-y_{i}\right) x_{i, j}\end{array} θj21(xiTθyi)2=θj21(j=0pxi,jθjyi)2xi=(xi,0,,xi,p)T=(j=0pxi,jθjyi)θj(j=0pxi,jθjyi)=(f(xi)yi)xi,j

正规方程法

J ( θ ) = 1 2 ∥ Y − X θ ∥ 2 = 1 2 ( X θ − Y ) T ( X θ − Y ) = 1 2 ( θ T X T X θ − 2 Y T X θ + Y T Y ) \begin{aligned} J(\theta) &=\frac{1}{2}\|Y-X \theta\|^{2} \\ &=\frac{1}{2}(X \theta-Y)^{T}(X \theta-Y) \\ &=\frac{1}{2}\left(\theta^{T} X^{T} X \theta-2 Y^{T} X \theta+Y^{T} Y\right) \end{aligned} J(θ)=21YXθ2=21(XθY)T(XθY)=21(θTXTXθ2YTXθ+YTY)

注解:
∂ x T B x ∂ x = ( B + B T ) x ∂ x T a ∂ x = ∂ a T x ∂ x =  a  \begin{array}{l}\frac{\partial \mathbf{x}^{T} \mathbf{B} \mathbf{x}}{\partial \mathbf{x}}=\left(\mathbf{B}+\mathbf{B}^{T}\right) \mathbf{x} \\ \frac{\partial \mathbf{x}^{T} \mathbf{a}}{\partial \mathbf{x}}=\frac{\partial \mathbf{a}^{T} \mathbf{x}}{\partial \mathrm{x}}=\text { a }\\\end{array} xxTBx=(B+BT)xxxTa=xaTx= a 
我们令 B = X T X , B T = B ⟹ ( B + B B ) θ = 2 B θ B=X^TX,B^T=B\Longrightarrow (B+B^B)\theta = 2B\theta B=XTX,BT=B(B+BB)θ=2Bθ
∇ θ J ( θ ) = ∂ J ( θ ) ∂ θ = 1 2 ( θ T X T X θ − 2 Y T X θ + Y T Y ) ∂ θ = X T X θ − ( Y T X ) T = X T X θ − X T Y = 0 ⟹ X T X θ = X T Y θ ∗ = ( X T X ) − 1 X T ⟹ θ ∗ = ( X T X ) − 1 X T Y \nabla_{\theta} J(\theta)=\frac{\partial J(\theta)}{\partial \theta}=\frac{\frac{1}{2}\left(\theta^{T} X^{T} X \theta-2 Y^{T} X \theta+Y^{T} Y\right)}{\partial \theta}=X^{T} X \theta-\left(Y^{T} X\right)^{T}=X^{T} X \theta-X^{T} Y=0\\\Longrightarrow X^{T} X \theta=X^{T} Y\theta^{*}=\left(X^{T} X\right)^{-1} X^{T}\\\Longrightarrow\theta^{*}=\left(X^{T} X\right)^{-1} X^{T} Y θJ(θ)=θJ(θ)=θ21(θTXTXθ2YTXθ+YTY)=XTXθ(YTX)T=XTXθXTY=0XTXθ=XTYθ=(XTX)1XTθ=(XTX)1XTY

随机梯度下降法

Mini-batch GD

每次只 用训练集中的一个数据,把数据分为若干个批,按批来更新参 数。一个批中的一组数据共同决定了本次梯度的方向,下降起 来就不容易跑偏,减少了随机性。

一个bacth 形成一个epoch分批次训练

全局最优解

J ( θ ) J(\theta) J(θ)是凸函数(凹函数和凸函数统称凸函数)时,二阶导数大于0, X T X X^TX XTX为半正定矩阵
∇ θ 2 J ( θ ) = X T X \nabla_{\theta}^{2} J(\theta)=X^{T} X θ2J(θ)=XTX
当训练样本的数目n大于训练样本的维度(p+1 个属性,特征) X T X X^TX XTX通常可逆,表明改矩阵事正定矩阵,求的参数是全局最优解。不可逆时,可以接出多个参数解。可使用 正则化给出一个“归纳偏好”解。

评估方法

留出法

随机挑选 一部分标 记数据作 为测试集 (空心点 ),其余的作 为训练集 (实心点 ),计算 回归模型,使用测试 集对模型 评估: MSE =2.4,测试集不能太大,也不 能太小。2 <= n:m <=4

交叉验证法

十折交叉验证,如将数据集分为10份,每次选一份作为测试集,其余作为训练集。

性能度量
线性回归模型:平方和误差

在测试集上报告 MSE(mean square error) 误差
J train  ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J_{\text {train }}(\theta)=\frac{1}{2} \sum_{i=1}^{n}\left(\mathbf{x}_{i}^{T} \theta-y_{i}\right)^{2} Jtrain (θ)=21i=1n(xiTθyi)2

θ ∗ = argmin ⁡ J train  ( θ ) = ( X train  T X train  ) − 1 X train  T y ⃗ train  \theta^{*}=\operatorname{argmin} J_{\text {train }}(\theta)=\left(X_{\text {train }}^{T} X_{\text {train }}\right)^{-1} X_{\text {train }}^{T} \vec{y}_{\text {train }} θ=argminJtrain (θ)=(Xtrain TXtrain )1Xtrain Ty train 

J test  = 1 m ∑ i = n + 1 n + m ( x i T θ ∗ − y i ) 2 = 1 m ∑ i = n + 1 n + m ε i 2 J_{\text {test }}=\frac{1}{m} \sum_{i=n+1}^{n+m}\left(\mathbf{x}_{i}^{T} \theta^{*}-y_{i}\right)^{2}=\frac{1}{m} \sum_{i=n+1}^{n+m} \varepsilon_{i}^{2} Jtest =m1i=n+1n+m(xiTθyi)2=m1i=n+1n+mεi2

分类任务:错误率与精度

错误率是分类错误的样本数占样本总数的比例

精度是分类正确的样本数占样本总数的比例

对二分类问题:

查准率: P = T P T P + F P P=\frac{T P}{T P+F P} P=TP+FPTP

查全率: R = T P T P + F N R=\frac{T P}{T P+F N} R=TP+FNTP

F1: F 1 = 2 × P × R P + R = 2 × T P  样例总数  + T P − T N F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} F1=P+R2×P×R= 样例总数 +TPTN2×TP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值