机器学习——算法进阶(二)

一、回归分析的基本概念

1.回归的概念

回归是一种用于金融、投资和其他学科的统计方法,它试图确定一个因变量****(通常用 Y 表示)与一系列其他变量**(称为自变量)之间关系的强度特征

2.极大似然估计和最小二乘法

y ( i ) = θ T x ( i ) + ε ( i ) (1) y^{(i)}=\theta^Tx^{(i)}+\varepsilon^{(i)}\tag1 y(i)=θTx(i)+ε(i)(1)

其中 ε ( i ) \varepsilon^{(i)} ε(i)表示的误差项,是独立同分布的,且服从均值为0,方差为 σ 2 \sigma^2 σ2的高斯分布。

原因:中心极限定理

根据 ε ( i ) ∼ N ( 0 , σ 2 ) \varepsilon^{(i)}\sim N(0,\sigma^2) ε(i)N(0,σ2),我们给出误差的似然函数如下:
误差的似然函数
对似然函数取对数,求满足对数似然函数最大的参数 θ \theta θ的解。
在这里插入图片描述
下面给出 θ \theta θ解析式的求解过程:
首先,将 M M M N N N维样本组成矩阵 X X X

  1. X X X的每一行表示一个样本所有的信息,共有 M M M行,即认为总共有 M M M个样本。
  2. X X X的每一列表示其中一个样本的所有特征值。
    X = ( X 1 , 1 X 1 , 2 . . . X 1 , n X 2 , 1 X 2 , 2 . . . X 2 , n . . . . . . . . . . . . X m , 1 X m , 2 . . . X m , n ) (2) X=\begin{pmatrix} X_{1,1}&X_{1,2} &...& X_{1,n}\\ X_{2,1}&X_{2,2} &...&X_{2,n} \\ ... &...&...&... \\ X_{m,1}&X_{m,2} &...&X_{m,n} \\ \end{pmatrix} \tag2 X= X1,1X2,1...Xm,1X1,2X2,2...Xm,2............X1,nX2,n...Xm,n (2)
    在这里插入图片描述
    接下来,我们讨论参数的解析式。
    θ = ( X T X ) − 1 X T y (3) \theta=(X^TX)^{-1}X^Ty\tag3 θ=(XTX)1XTy(3)
    得出式(3)的前提必须要满足 X T X X^TX XTX是可逆的。
    如果 ( X T X ) − 1 (X^TX)^{-1} (XTX)1不存在,则需要想办法将 X T X X^TX XTX加点约束转换成可逆矩阵,最简单的就是在该矩阵的斜对角线添加一点点非零的量。
    θ = ( X T X + λ I ) − 1 X T y (4) \theta=(X^TX+\lambda I)^{-1}X^Ty\tag4 θ=(XTX+λI)1XTy(4)
    X T X X^TX XTX是半正定的,添加了一项 λ I \lambda I λI之后, X T X + λ I X^TX+\lambda I XTX+λI肯定是正定矩阵, λ \lambda λ取任意大于零的实数。
    在这里插入图片描述

4.正则化稀疏问题

在这里插入图片描述
这个很直观,当参数 θ \theta θ是二维的时候可以画出 J ( θ ) J(\theta) J(θ)求解过程中的决策图,左边是LASSO约束,可以直接舍去 w 1 w^1 w1,只保留 w 2 w^2 w2对应的特征就好;右边是L2正则约束, w 1 w^1 w1 w 2 w^2 w2两个特征都要保留,这也就是为什么说LASSO可以达到稀疏的目的。

3.线性回归的惩罚项

我们前面已经给出了线性回归的目标函数为:
J ( θ ⃗ ) = 1 2 ∑ i = 1 m [ ( h θ ⃗ ( x ( i ) ) − y ( i ) ] 2 (5) J(\vec{\theta}) =\frac12\sum_{i=1}^{m}[(h_{\vec{\theta}}(x^{(i)})-y^{(i)}]^2\tag5 J(θ )=21i=1m[(hθ (x(i))y(i)]2(5)
将目标函数添加平方和损失之后:
J ( θ ⃗ ) = 1 2 ∑ i = 1 m [ ( h θ ⃗ ( x ( i ) ) − y ( i ) ] 2 + λ ∑ i = 1 n θ j 2 (6) J(\vec{\theta}) =\frac12\sum_{i=1}^{m}[(h_{\vec{\theta}}(x^{(i)})-y^{(i)}]^2+\lambda\sum_{i=1}^{n}\theta_j^2\tag6 J(θ )=21i=1m[(hθ (x(i))y(i)]2+λi=1nθj2(6)
其实,这个加平方和的约束我们是认为 θ \theta θ是符合高斯分布的,也就是说我们在估计参数 θ \theta θ之前,给该参数指定了一个高斯先验分布,也称为L2正则化,简称为 L 2 − n o r m L2-norm L2norm

当然还有LASSO回归(Least Absolute Shrinkage and selection Operator),对应的是Laplace先验,即将 θ j 2 \theta^2_j θj2改为 ∣ θ j ∣ |\theta_j| θj, L 1 − n o r m L1-norm L1norm

J ( θ ⃗ ) = 1 2 ∑ i = 1 m [ ( h θ ⃗ ( x ( i ) ) − y ( i ) ] 2 + λ ∑ i = 1 n ∣ θ j ∣ (7) J(\vec{\theta}) =\frac12\sum_{i=1}^{m}[(h_{\vec{\theta}}(x^{(i)})-y^{(i)}]^2+\lambda\sum_{i=1}^{n}|\theta_j|\tag7 J(θ )=21i=1m[(hθ (x(i))y(i)]2+λi=1nθj(7)
还有个Elastic Net的概念,就是将L1正则和L2正则结合起来考虑,一般很少用。
J ( θ ⃗ ) = 1 2 ∑ i = 1 m [ ( h θ ⃗ ( x ( i ) ) − y ( i ) ] 2 + λ ( ρ ∑ i = 1 n ∣ θ j ∣ + ( 1 − ρ ) ∑ i = 1 n θ j 2 ) (8) J(\vec{\theta}) =\frac12\sum_{i=1}^{m}[(h_{\vec{\theta}}(x^{(i)})-y^{(i)}]^2+\lambda(\rho\sum_{i=1}^{n}|\theta_j|+(1-\rho)\sum_{i=1}^{n}\theta_j^2)\tag8 J(θ )=21i=1m[(hθ (x(i))y(i)]2+λ(ρi=1nθj+(1ρ)i=1nθj2)(8)
如果不好理解正则项给定的原因,可以联想到我们的目的是为了防止过拟合,也就是说不需要太精确了,我们限制住某些特征方向上的系数,不让它太大,就比如 θ \theta θ有两个分量为899.99-899.88或者1.99-1.88,肯定是后者要更好一点,因为波动要小一点,前者带来的波动太大也就是很可能发生过拟合现象,后者的波动较小,鲁棒性要好一些。

二、SGD梯度下降算法

第一步:随机初始化 θ \theta θ;
第二步:沿着负梯度方向迭代,更新后的 θ \theta θ使得 J ( θ ) J(\theta) J(θ)更小。
θ = θ − α ∂ J ( θ ) ∂ θ (9) \theta=\theta-\alpha\frac{\partial J(\theta)}{\partial \theta}\tag9 θ=θαθJ(θ)(9)
α \alpha α表示的是学习率、步长。
在这里插入图片描述

计算梯度的方向

在这里插入图片描述

三、线性回归的进一步分析

y = θ 0 + θ 1 x + θ 2 x 2 (10) y =\theta_0+\theta_1x+\theta_2x^2\tag{10} y=θ0+θ1x+θ2x2(10)
其实这个问题很好解决,因为这个 x x x表示的是数据某一维度的特征,我们可以对数据特征多加一列就好了,相当于数据有一列特征为 x i x_i xi,我们人为地添加一项 x i 2 x_i^2 xi2到原始的数据集中去,看看最后对应的这一项 θ i \theta_i θi的系数大不大,如果很显著就保留,不显著就舍去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值