文章目录

  • Liner Regression
  • 1. 基本概念
  • 2. 一般表达式
  • 3. 实际用处
  • 4. 损失函数(Loss Function)之均方误差(MSE)
  • 5. 计算 w 和 b
    • 5.1 方法一:最小二乘法(least square method)
    • 5.2 方法二:梯度下降法(gradient descent)
  • 6. 过拟合
    • 6.1 L1正则化(Lasso回归)
    • 6.2 L2正则化(Rideg/岭(脊)回归)
    • 6.3 L1+L2正则化(弹性网络/ElasticNet回归)
  • 7. 欠拟合
    • 7.1 局部加权线性回归

Liner Regression

1. 基本概念

  • 线性
      两个变量之间的关系是一次函数关系,图像是直线,成正比例(反比例不是),叫做线性。

  • 非线性
      两个变量之间的关系不是一次函数关系的—,图象不是直线,叫做非线性。

  • 回归
      人们在测量事物的时候因为客观条件有限,求得的都是测量值,而不是事物真实的值。
      为了求得真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值

  • 线性回归
      线性回归是回归问题的一种,线性回归假设目标值(y)与特征(x)之间线性相关(满足多元一次方程)。
      我们通过构建损失函数,来求解损失函数小时的参数 w 和 b。

2. 一般表达式

y=wx+by = wx + by=wx+b
w叫做x的系数
b叫做偏置项。

3. 实际用处

  • 预测
      寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测
      例如:对房价的预测、判断信用评价、电影票房预估等。

4. 损失函数(Loss Function)之均方误差(MSE)

  • MSE(均方误差)
    1-英文名
      Mean Square Error
      又叫:二次损失
    2-概念
      均方误差,指模型预测值f(x),与样本真实值y。之间的差值的平方的平均值 。
    3-公式
    MSE=1n∑i=1n(f(xi)−yi)2MSE = \frac{1}{n}\sum_{i=1}^n(f(x_i) - y_i )^2MSE=n1​i=1∑n​(f(xi​)−yi​)2
    n: 样本个数
    yiy_iyi​: 真实值
    f(xi)f(x_i)f(xi​): 预测值

  • 核心目标优化式
    1-概念
      求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。
    2-推导
    将y=wx+by = wx + by=wx+b代入 MSE=1n∑i=1n(f(xi)−yi)2MSE = \frac{1}{n}\sum_{i=1}^n(f(x_i) - y_i )^2MSE=n1​i=1∑n​(f(xi​)−yi​)2

    MSE(w,b)=1n∑i=1n(wxi+b−yi)2MSE(w, b) = \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2MSE(w,b)=n1​i=1∑n​(wxi​+b−yi​)2
    最终,1/n不影响最小值,省略1/n,便于计算(这个公式很重要)
    得,平方损失函数(squared loss)
    L(w,b)=∑i=1n(wxi+b−yi)2L(w, b) = \sum_{i=1}^n(wx_i + b - y_i)^2L(w,b)=i=1∑n​(wxi​+b−yi​)2
    任务是:求解最小化L时w和b的值。

5. 计算 w 和 b

5.1 方法一:最小二乘法(least square method)

核心:我们通过构建损失函数,来求解损失函数最小时的参数 w 和 b。

1-回顾
  中学有一种题,给你很多数据(组成表格),要你求解,缺失的部分或进行判断。我们就用到了最小二乘法。公式我们一般都是直接背下来直接用。例如:

直线
y=kx+by = kx + by=kx+b
k^\hat{k}k^
k^=∑i=1nxiyi−nxˉyˉ∑i=1nxi2−nxˉ2\hat{k} = \frac{\sum_{i=1}^nx_iy_i - n\bar{x}\bar{y}}{\sum_{i=1}^nx_i^2 - n\bar{x}^2}k^=∑i=1n​xi2​−nxˉ2∑i=1n​xi​yi​−nxˉyˉ​​

b^\hat{b}b^
b^=yˉ−k^xˉ\hat{b} = \bar{y} - \hat{k}\bar{x}b^=yˉ​−k^xˉ

2-线性回归中计算w和b:求偏导
注意
(注意:∑i=1nxi=n∑i=1nxin=nxˉ)(注意:\sum_{i=1}^nx_i = n\frac{\sum_{i=1}^nx_i }{n}=n\bar{x})(注意:i=1∑n​xi​=nn∑i=1n​xi​​=nxˉ)

对L(w,b)L(w,b)L(w,b)求www的偏导。

L(w,b)w′=∂L∂w=∑i=1n[(wxi+b−yi)2]w′=2∑i=1n(wxi+b−yi)∗(xiw+b−yi)w′=2∑i=1n(wxi+b−yi)∗xi=2[w∑i=1nxi2+∑i=1nxi(b−yi)]=2[w∑i=1nxi2−∑i=1nxi(yi−b)]\begin{aligned} L(w,b)'_w &= \frac{\partial L}{\partial w}\\[6pt] &=\sum_{i=1}^n[(wx_i+b-y_i)^2]'_w\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*(x_iw+b-y_i)'_w\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*x_i\\[6pt] &=2[w\sum_{i=1}^nx_i^2+\sum_{i=1}^nx_i(b-y_i)]\\[6pt] &=2[w\sum_{i=1}^nx_i^2-\sum_{i=1}^nx_i(y_i-b)] \end{aligned} \\[6pt] L(w,b)w′​​=∂w∂L​=i=1∑n​[(wxi​+b−yi​)2]w′​=2i=1∑n​(wxi​+b−yi​)∗(xi​w+b−yi​)w′​=2i=1∑n​(wxi​+b−yi​)∗xi​=2[wi=1∑n​xi2​+i=1∑n​xi​(b−yi​)]=2[wi=1∑n​xi2​−i=1∑n​xi​(yi​−b)]​

对L(w,b)L(w,b)L(w,b)求b的偏导。

L(w,b)b′=∂L∂b=[∑i=1n(wxi+b−yi)2]b′=2∑i=1n(wxi+b−yi)∗(∑i=1nxiw+b−∑i=1nyi)b′=2∑i=1n(wxi+b−yi)=2[nb−∑i=1n(yi−wxi)]\begin{aligned} L(w,b)'_b &= \frac{\partial L}{\partial b}\\[6pt] &=[\sum_{i=1}^n(wx_i+b-y_i)^2]'_b\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*(\sum_{i=1}^nx_iw+b-\sum_{i=1}^ny_i)'_b\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)\\[6pt] &=2[nb-\sum_{i=1}^n(y_i-wx_i)] \end{aligned} L(w,b)b′​​=∂b∂L​=[i=1∑n​(wxi​+b−yi​)2]b′​=2i=1∑n​(wxi​+b−yi​)∗(i=1∑n​xi​w+b−i=1∑n​yi​)b′​=2i=1∑n​(wxi​+b−yi​)=2[nb−i=1∑n​(yi​−wxi​)]​

令两式为0

b=1n∑i=1n(yi−wxi)b=yˉ−wxˉ\begin{aligned} &b = \frac{1}{n}\sum_{i=1}^n(y_i-wx_i)\\[6pt] &b=\bar{y}-w\bar{x} \end{aligned} ​b=n1​i=1∑n​(yi​−wxi​)b=yˉ​−wxˉ​
2[w∑i=1nxi2−∑i=1nxi(yi−b)]=0w∑i=1nxi2=∑i=1nxi(yi−b)w∑i=1nxi2=∑i=1n(xiyi−xib)w∑i=1nxi2=∑i=1n(xiyi)−∑i=1n(xib)nw∑i=1nxi2=n∑i=1n(xiyi)−nb∑i=1nxinw∑i=1nxi2=n∑i=1n(xiyi)−∑i=1n(yi−wxi)∑i=1nxinw∑i=1nxi2=n∑i=1n(xiyi)−(∑i=1nyi−∑i=1nwxi))∑i=1nxinw∑i=1nxi2=n∑i=1n(xiyi)−∑i=1n(xiyi)+w∑i=1n(xi)∗∑i=1nxi)nw∑i=1nxi2=n∑i=1n(xiyi)−∑i=1n(xiyi)+w[∑i=1nxi]2w∑i=1nxi2=∑i=1n(xiyi)−1n∑i=1n(xiyi)+wn[∑i=1nxi]2w∑i=1nxi2=∑i=1n(xiyi)−xˉ∑i=1nyi+wn[∑i=1nxi]2w∑i=1nxi2=∑i=1nyi(xi−xˉ)+wn[∑i=1nxi]2w=∑i=1nyi(xi−xˉ)∑i=1nxi2−1n[∑i=1nxi]2\begin{aligned} 2[w\sum_{i=1}^nx_i^2-\sum_{i=1}^nx_i(y_i-b)]=0\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^nx_i(y_i-b)\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i-x_ib)\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_ib)\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-nb\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(y_i-wx_i)\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-(\sum_{i=1}^ny_i-\sum_{i=1}^nwx_i))\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_iy_i)+w\sum_{i=1}^n(x_i)*\sum_{i=1}^nx_i)\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_iy_i)+w[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\frac{1}{n}\sum_{i=1}^n(x_iy_i)+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\bar{x}\sum_{i=1}^ny_i+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^ny_i(x_i-\bar{x})+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w=\frac{\sum_{i=1}^ny_i(x_i-\bar{x})}{\sum_{i=1}^nx_i^2-\frac{1}{n}[\sum_{i=1}^nx_i]^2}\\[6pt] \end{aligned} 2[wi=1∑n​xi2​−i=1∑n​xi​(yi​−b)]=0wi=1∑n​xi2​=i=1∑n​xi​(yi​−b)wi=1∑n​xi2​=i=1∑n​(xi​yi​−xi​b)wi=1∑n​xi2​=i=1∑n​(xi​yi​)−i=1∑n​(xi​b)nwi=1∑n​xi2​=ni=1∑n​(xi​yi​)−nbi=1∑n​xi​nwi=1∑n​xi2​=ni=1∑n​(xi​yi​)−i=1∑n​(yi​−wxi​)i=1∑n​xi​nwi=1∑n​xi2​=ni=1∑n​(xi​yi​)−(i=1∑n​yi​−i=1∑n​wxi​))i=1∑n​xi​nwi=1∑n​xi2​=ni=1∑n​(xi​yi​)−i=1∑n​(xi​yi​)+wi=1∑n​(xi​)∗i=1∑n​xi​)nwi=1∑n​xi2​=ni=1∑n​(xi​yi​)−i=1∑n​(xi​yi​)+w[i=1∑n​xi​]2wi=1∑n​xi2​=i=1∑n​(xi​yi​)−n1​i=1∑n​(xi​yi​)+nw​[i=1∑n​xi​]2wi=1∑n​xi2​=i=1∑n​(xi​yi​)−xˉi=1∑n​yi​+nw​[i=1∑n​xi​]2wi=1∑n​xi2​=i=1∑n​yi​(xi​−xˉ)+nw​[i=1∑n​xi​]2w=∑i=1n​xi2​−n1​[∑i=1n​xi​]2∑i=1n​yi​(xi​−xˉ)​​

5.2 方法二:梯度下降法(gradient descent)

核心:对自变量进行不断的更新(针对w和b求偏导),使得目标函数不断逼近最小值的过程。

  • 梯度的定义
      某一函数沿着某点处的方向导数可以以最快速度到达极大值,该方向导数我们定义为该函数的梯度
      在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
      在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向。

  • 梯度的公式

∇=df(θ)dθ\nabla=\frac{df(\theta)}{d\theta}∇=dθdf(θ)​
θ是自变量
f(θ)是关于θ的函数
▽表示梯度

  • 梯度下降
      梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向。

  • 梯度下降的公式
    θ=θ0−η∗∇f(θ0)\theta=\theta_0-\eta*\nabla f(\theta_0) θ=θ0​−η∗∇f(θ0​)
    η是步长(也作学习率α\alphaα)
    θ是由θ0\theta_0θ0​按照上述式子更新后的值

  • 步长
      梯度下降迭代过程中每一步沿负方向前进的长度
      步长太大,会导致迭代过快,错过最优解;
      步长太小,迭代速度太慢,耗时间太长。

  • 针对本题(线性回归)的梯度下降
    1-公式
    w←w−α∂L∂wb←b−α∂L∂bw\leftarrow w-\alpha\frac{\partial L}{\partial w}\\[6pt] b\leftarrow b-\alpha\frac{\partial L}{\partial b}\\[6pt] w←w−α∂w∂L​b←b−α∂b∂L​
    α\alphaα是学习率,是一个梯度下降需要的超参数,如 0.01、0.001。
    2-学习率/步长
    学习率设定策略

6. 过拟合

  • 概念
      模型在测试集上的表现不如训练集,即为过拟合

  • 原因
      1)模型过于复杂
      2)训练数据太少或比较极端
      3)样本的特征太多
      4)过拟合的原因存在于三个层面:模型、数据量、特征。出现其中一个,就会过拟合。

  • 解决方法
      1)使用正则化项,也就是给loss function加上一个参数项。
      2)扩充数据集,收集更多数据。
      3)减少特征数量 。

  • 具体方法
      1)L1正则化(Lasso回归)
      2)L2正则化(Rideg/岭回归)
      3)L1+L2正则化(弹性网络/ElasticNet回归)

  • 惩罚项
      L1正则化和L2正则化都可以看做是损失函数的惩罚项
      所谓惩罚项是指对损失函数中的一些参数进行限制,让参数在某一范围内进行取值。
      L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归

  • 范数
    定义:
    范数是衡量某个向量空间(或矩阵)中的每个向量的长度或大小。
    范数的一般定义:
    对实数p>=1,n个向量,∣∣x∣∣p=(∑i=1n∣xi∣p)1p||x||_p=(\sum_{i=1}^n|x_i|^p)^\frac{1}{p}∣∣x∣∣p​=(∑i=1n​∣xi​∣p)p1​
    L0范数
    用来度量向量中非零元素的个数。
    L1范数 ∣∣x∣∣1||x||_1∣∣x∣∣1​
    当p=1时,是L1范数,其表示某个向量中所有元素绝对值的和
    L2范数 ∣∣x∣∣2||x||_2∣∣x∣∣2​
    当p=2时,是L2范数, 表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。

6.1 L1正则化(Lasso回归)

  • Lasso回归公式
    在损失函数后,加L1范数
    L(w,b)=1n∑i=1n(wxi+b−yi)2+λ∣∣w∣∣1=1n∑i=1n(wxi+b−yi)2+λ∑j=1k∣wj∣\begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda||w||_1\\[6pt] &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j|\\[6pt] \end{aligned} L(w,b)​=n1​i=1∑n​(wxi​+b−yi​)2+λ∣∣w∣∣1​=n1​i=1∑n​(wxi​+b−yi​)2+λj=1∑k​∣wj​∣​
    为了便于计算
    L(w,b)=12n∑i=1n(wxi+b−yi)2+λ∑j=1k∣wj∣\begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j|\\[6pt] \end{aligned} L(w,b)​=2n1​i=1∑n​(wxi​+b−yi​)2+λj=1∑k​∣wj​∣​
    www为特征变量
    n为样本个数
    k为特征数

  • 参数的计算
    不可用最小二乘法
      惩罚项是有绝对值得的,由高中知识就知道,绝对值在0处不可导。
      因为存在不可导点:最小二乘法,梯度下降法,牛顿法与拟牛顿法对它统统失效了。
    其他的方法
    Lasso回归求解
    只算一步梯度

L(w,b)=12n∑i=1n(wxi+b−yi)2+λ∑j=1k∣wj∣L(w, b) = \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j| L(w,b)=2n1​i=1∑n​(wxi​+b−yi​)2+λj=1∑k​∣wj​∣
↓\downarrow↓
L(w)=12MSE(w)+λ∑j=1k∣wj∣L(w) = \frac{1}{2}MSE(w)+\lambda\sum_{j=1}^k|w_j| L(w)=21​MSE(w)+λj=1∑k​∣wj​∣
↓求梯度\downarrow求梯度↓求梯度
L(w)w′=∇wMSE(w)+λ∗{sign(w1)sign(w2)...sign(wk)\begin{aligned} L(w) '_w&= \nabla _w MSE(w)+\lambda* \begin{cases} sign(w_1) \\ sign(w_2) \\ ...\\ sign(w_k) \\ \end{cases} \end{aligned} L(w)w′​​=∇w​MSE(w)+λ∗⎩⎪⎪⎪⎨⎪⎪⎪⎧​sign(w1​)sign(w2​)...sign(wk​)​​
↓符号函数sign\downarrow符号函数sign↓符号函数sign
sign(x)={1x>00x=0−1x<0sign(x) = \begin{cases} 1&x>0\\ 0&x=0\\ -1&x<0\\ \end{cases} sign(x)=⎩⎪⎨⎪⎧​10−1​x>0x=0x<0​

  • Lasso回归的性质
    1)容易获得稀疏解
    2)可以减少特征值
    3)可以降维
    4)存在不可导点
    5)L1范数符合拉普拉斯分布,是不完全可微的。
    6)表现在图像上会有很多角出现。
    7)会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0 。
    8)产生稀疏权重矩阵,进而防止过拟合。
    9)可以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0。
    10)

6.2 L2正则化(Rideg/岭(脊)回归)

  • 岭回归公式
    在损失函数后,加L2范数的平方
    L(w,b)=1n∑i=1n(wxi+b−yi)2+λ∣∣w∣∣22=1n∑i=1n(wxi+b−yi)2+λ∑j=1kwj2\begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda||w||_2^2\\[6pt] &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)​=n1​i=1∑n​(wxi​+b−yi​)2+λ∣∣w∣∣22​=n1​i=1∑n​(wxi​+b−yi​)2+λj=1∑k​wj2​​
    为了便于计算
    L(w,b)=12n∑i=1n(wxi+b−yi)2+λ2∑j=1kwj2\begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\frac{\lambda}{2}\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)​=2n1​i=1∑n​(wxi​+b−yi​)2+2λ​j=1∑k​wj2​​
    www为特征变量
    n为样本个数
    k为特征数

  • 参数的计算
    最小二乘法
    L(w,b)=12n∑i=1n(wxi+b−yi)2+λ2∑j=1kwj2L(w, b) = \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\frac{\lambda}{2}\sum_{j=1}^kw_j^2L(w,b)=2n1​i=1∑n​(wxi​+b−yi​)2+2λ​j=1∑k​wj2​
    ↓\downarrow ↓
    转为向量,便于计算(省略偏置项b)转为向量,便于计算(省略偏置项b)转为向量,便于计算(省略偏置项b)
    ↓\downarrow↓
    L=12(XW−Y)2+λ2W2L=\frac{1}{2}(XW-Y)^2+\frac{\lambda}{2}W^2L=21​(XW−Y)2+2λ​W2
    ↓求导\downarrow 求导↓求导
    Lw′=XT∗(XW−Y)+λW=XTXW−XTY+λW=(XTX+λI)W−XTY\begin{aligned} L'_w&=X^T*(XW-Y)+\lambda W\\[6pt] &=X^TXW-X^TY+\lambda W\\[6pt] &=(X^TX+\lambda I)W-X^TY \end{aligned} Lw′​​=XT∗(XW−Y)+λW=XTXW−XTY+λW=(XTX+λI)W−XTY​
    ↓导数取0\downarrow 导数取0↓导数取0
    Lw′=0(XTX+λI)W=XTYW=(XTX+λI)−1XTY\begin{aligned} L'_w&=0\\[6pt] (X^TX+\lambda I)W&=X^TY\\[6pt] W&=(X^TX+\lambda I)^{-1}X^TY \end{aligned} Lw′​(XTX+λI)WW​=0=XTY=(XTX+λI)−1XTY​
    各个向量解释
    X:n×k矩阵Y:n×1矩阵W:k×1矩阵I:k×k矩阵n为样本个数k为特征数矩阵乘法满足:列=行X: n\times k矩阵\\[6pt] Y: n\times 1矩阵\\[6pt] W: k\times 1矩阵\\[6pt] I: k\times k矩阵\\[6pt] n为样本个数\\[6pt] k为特征数\\[6pt] 矩阵乘法满足:列=行 X:n×k矩阵Y:n×1矩阵W:k×1矩阵I:k×k矩阵n为样本个数k为特征数矩阵乘法满足:列=行

  • 结论
    W=(XTX+λI)−1XTYW=(X^TX+\lambda I)^{-1}X^TYW=(XTX+λI)−1XTY

  • 岭回归的性质
    1)岭回归的公式仍然是一个凸函数。
    2)L2范数符合高斯分布,是完全可微的。
    3)图像上的棱角被圆滑了很多。
    4)L2正则化不容易得到稀疏矩阵
    5)

6.3 L1+L2正则化(弹性网络/ElasticNet回归)

  • 概念
      1)弹性网络是结合了岭回归和Lasso回归,由两者加权平均所得。
      2)在我们发现用Lasso回归太过(太多特征被稀疏为0)。
      3)岭回归也正则化的不够(回归系数衰减太慢)的时候。
      4)可以考虑使用ElasticNet回归来综合。
      5)它使用L1来训练并且L2优先作为正则化矩阵。

  • ElasticNet回归公式
    损失函数加上L1和L2的加权
    L(w,b)=1n∑i=1n(wxi+b−yi)2+rλ∑j=1k∣wj∣+(1−r)λ∑j=1kwj2\begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+r\lambda\sum_{j=1}^k|w_j|+(1-r)\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)​=n1​i=1∑n​(wxi​+b−yi​)2+rλj=1∑k​∣wj​∣+(1−r)λj=1∑k​wj2​​
    为了便于计算
    L(w,b)=12n∑i=1n(wxi+b−yi)2+rλ∑j=1k∣wj∣+1−r2λ∑j=1kwj2\begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+r\lambda\sum_{j=1}^k|w_j|+\frac{1-r}{2}\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)​=2n1​i=1∑n​(wxi​+b−yi​)2+rλj=1∑k​∣wj​∣+21−r​λj=1∑k​wj2​​
    www为特征变量
    n为样本个数
    k为特征数
    r表示L1所占的比例

↓简化,省略偏置项\downarrow 简化,省略偏置项↓简化,省略偏置项
↓\downarrow↓
L(w)=12n∣∣xw−y∣∣22+rλ∣∣w∣∣1+1−r2λ∣∣w∣∣22L(w)=\frac{1}{2n}||xw-y||_2^2+r\lambda||w||_1+\frac{1-r}{2}\lambda||w||_2^2 L(w)=2n1​∣∣xw−y∣∣22​+rλ∣∣w∣∣1​+21−r​λ∣∣w∣∣22​

  • 参数的计算
    待定

  • ElasticNet回归的性质
    1)当rrr接近0时,ElasticNet表现接近lasso。

  • 综合三种回归
    首选Ridge,其次ElasticNet,最后考虑Lasso

7. 欠拟合

  • 概念
      1)若在训练集表现差,在测试集表现同样会很差,这可能是欠拟合导致。
      2)欠拟合是指模型拟合程度不高,数据距离拟合曲线较远。
      3)或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

  • 解决方法
      1)增加多项式特征阶数。
      2)减小正则项的超参系数值。
      3)局部加权线性回归

7.1 局部加权线性回归

  • 英文
      Locally weighted linear regression

  • 概念
      1)在该算法中,我们给待预测点附近的每一个点赋予一定的权重
      2)在这个子集上基于最小均方误差来进行普通的回归。
      3)与KNN类似,这种算法每次预测均需要事先选取出对应的数据子集。

  • 高斯核
    1-使用原因
      局部线性加权使用核(类似支持向量机中的核)来对附近的点赋予更高的权重。
    2-高斯核公式
    w(i,i)=exp((xi−x)2−2k2)w(i,i)=exp(\frac{(x_i-x)^2}{-2k^2}) w(i,i)=exp(−2k2(xi​−x)2​)
    3-不同k值,高斯核对应的样本覆盖范围

    4-结论
      1)构建了一个只含有对角元素的权重矩阵ω
      2)并且点x与xi越近,w(i,i)将会越大。
      3)用户指定的参数k,决定了对附近的点赋予多大的权重。

  • 公式推导
    由ridge回归,推导的结论
    W=(XTX+λI)−1XTYW=(X^TX+\lambda I)^{-1}X^TYW=(XTX+λI)−1XTY
    ↓省去L2正则项↓\downarrow省去L2正则项\downarrow↓省去L2正则项↓
    W=(XTX)−1XTYW=(X^TX)^{-1}X^TYW=(XTX)−1XTY
    ↓W用θ来代替↓\downarrow W用\theta来代替\downarrow↓W用θ来代替↓
    θ=(XTX)−1XTY\theta=(X^TX)^{-1}X^TYθ=(XTX)−1XTY
    ↓引入权重矩阵w:n×n对角矩阵↓\downarrow 引入权重矩阵w:n \times n对角矩阵\downarrow↓引入权重矩阵w:n×n对角矩阵↓
    结论:θ=(XTwX)−1XTwY结论:\theta=(X^TwX)^{-1}X^TwY结论:θ=(XTwX)−1XTwY

  • 例子

机器学习7——线性回归相关推荐

  1. matlab 多元多项式回归_Python机器学习之?线性回归入门(二)

    线性回归原理介绍 文章目录 机器学习分类 线性回归原理 线性回归定义 线性回归背后矩阵运算 机器学习分类 机器学习的主要任务便是聚焦于两个问题:分类和回归 分类相信大家都不会陌生,生活中会见到很多的应 ...

  2. ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)

    ML之回归预测:利用十类机器学习算法(线性回归.kNN.SVM.决策树.随机森林.极端随机树.SGD.提升树.LightGBM.XGBoost)对波士顿数据集[13+1,506]回归预测(模型评估.推 ...

  3. TF之LiR:基于tensorflow实现机器学习之线性回归算法

    TF之LiR:基于tensorflow实现机器学习之线性回归算法 目录 输出结果 代码设计 输出结果 代码设计 # -*- coding: utf-8 -*-#TF之LiR:基于tensorflow实 ...

  4. python 预测算法_通过机器学习的线性回归算法预测股票走势(用Python实现)

    本文转自博客园,作者为hsm_computer 原文链接:https://www.cnblogs.com/JavaArchitect/p/11717998.html在笔者的新书里,将通过股票案例讲述P ...

  5. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softmax回归

    Scikit-Learn 机器学习笔记 – 线性回归.逻辑回归.softmax回归 参考文档: handson-ml import numpy as np from matplotlib import ...

  6. 机器学习多元线性回归_过度简化的机器学习(1):多元回归

    机器学习多元线性回归 The term machine learning may sound provocative. Machines do not learn like humans do. Ho ...

  7. opencv机器学习线性回归_Python机器学习之?线性回归入门(二)

    线性回归原理介绍 文章目录 机器学习分类 线性回归原理 线性回归定义 线性回归背后矩阵运算 机器学习分类 机器学习的主要任务便是聚焦于两个问题:分类和回归 分类相信大家都不会陌生,生活中会见到很多的应 ...

  8. 机器学习之线性回归_通过线性回归开始机器学习之旅

    机器学习之线性回归 线性回归 (Linear Regression) Linear regression is a part of Statistics that defines the relati ...

  9. 机器学习(三)线性回归、广义线性回归、非线性回归

    机器学习(三)线性回归模型.广义线性回归模型.非线性回归模型 线性回归(数据集要满足正态分布) 一元线性回归模型: 在这里会想到,如何确定方程中的系数呢?我们先来了解最小二乘法,简单来说就是这个点作y ...

  10. 数据分析师-机器学习之线性回归

    数据分析师-机器学习之线性回归 回归分析: 回归:统计学分析数据的方法,目的在于了解两个或多个变量间是否相关.研究其相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量,回归分析可以 ...

最新文章

  1. 第10章 例题 7-4 汉诺(Hanoi)塔问题
  2. python3元类_3.python元类编程
  3. Java中加减乘除怎样写代码,【求助】怎样实现加减乘除 代码如下
  4. Vboxmanage改动uuid报错的解决的方法
  5. 第二阶段--个人冲刺--第十天
  6. 【JS 逆向百例】Ether Rock 空投接口 AES256 加密分析
  7. [THINKING IN JAVA]访问权限控制
  8. 绑定方法与非绑定方法
  9. maven jetty
  10. 去中心化存储项目Sia计划于2月初启动Sia基金会
  11. eclipse中使用maven插件的时候,运行tomcat7:run的时候报错
  12. ASP.NET MVC3 Model验证总结
  13. matlab大作业 m文件夹,matlab 基础知识汇总-- 记一次大作业
  14. win10安装MinGW
  15. 短视频源码开发,短视频系统源码搭建,从短视频系统起播过程入手
  16. android 的User-Agen
  17. ZigBee模块——从新冠、癌症防治看物联网智慧医疗的应用
  18. C#计算wgs84大地坐标转换为空间直角坐标
  19. Office快捷键大全之一(Word快捷键)
  20. Jetpack LiveData

热门文章

  1. KNN和K-Means
  2. 计算机主机电源怎么换,电脑主机不会拆装更换电源怎么办?详细图文来教你,看完你就会了...
  3. ElementUI 的 el-select 设置值后显示value而不是label
  4. 微信支付记录删除后怎么恢复?赶紧收藏这两个小技巧
  5. 如何彻底关闭Wiindows10系统自带输入法
  6. 你不能只会flex居中布局,精制动画讲解所有flex布局方式,通俗易懂教程
  7. 蚂蚁金服-微贷事业群 (北京、杭州)招前端
  8. Android studio 常见问题(2)----存储空间不足导致AVD打不开的错误
  9. win10的系统mysql服务器地址,win10的系统mysql服务器地址
  10. 概率论基础知识(二) 随机变量及其分布