机器学习之线性回归

目录

你的人生永远不会辜负你,那些转错的弯,走错的路,流下的泪水,滴下的汗水,留下的伤痕。所有这些全都让你成为独一无二的自己!

线性回归是什么?

  1. 线性: 指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数;
  2. 非线性: 则指不按比例、不成直线的关系,一阶导数不为常数;
  3. 线性关系: 两个变量之间存在一次方函数关系,就称它们之间存在线性关系。正比例关系是线性关系中的特例,反比例关系不是线性关系。更通俗一点讲,如果把这两个变量分别作为点的横坐标与纵坐标,其图象是平面上的一条直线,则这两个变量之间的关系就是线性关系。即如果可以用一个二元一次方程来表达两个变量之间关系的话,这两个变量之间的关系称为线性关系,因而,二元一次方程也称为线性方程。推而广之,含有n个变量的一次方程,也称为n元线性方程,不过这已经与直线没有什么关系了;
  4. 回归: 回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值也随之发生变化。回归模型正是表示从输入变量到输出变量之间映射关系的函数;

线性回归中因变量(x)服从正态分布?

我们假设线性回归的噪声服从均值为0的正态分布。 当噪声符合正态分布 N ( 0 , δ 2 ) % N(0, \delta^2) N(0,δ2)时,因变量则符合正态分布 N ( a x ( i ) + b , δ 2 ) % N(ax_{(i)}+b, \delta^2) N(ax(i)+b,δ2),其中预测函数 y = a x ( i ) + b % y=ax_{(i)}+b y=ax(i)+b。这个结论可以由正态分布的概率密度函数得到。也就是说当噪声符合正态分布时,其因变量必然也符合正态分布。在用线性回归模型拟合数据之前,首先要求数据应符合或近似符合正态分布,否则得到的拟合函数不正确

一般表达式(公式)是什么?

向量形式为: h ( x ) = w x + b h(x) =wx+b h(x)=wx+b
简化符号,可以令: w = ( w 1 , . . . , w n , b ) T w=(w_1,...,w_n,b)^T w=(w1,...,wn,b)T x = ( x ( 1 ) , . . . , x ( n ) , 1 ) T x=(x^{(1)},...,x^{(n)},1)^T x=(x(1),...,x(n),1)T
数学模型表示为: h ( x ) = w T x h(x) =w^Tx h(x)=wTx

基本的原理是什么?

1.给定数据集 D = { ( x i , y i ) } i = 1 m % D = \left\{ {\left( {{x_i},{y_i}} \right)} \right\}_{i = 1}^m D={(xi,yi)}i=1m,其中 x i = ( x i 1 , x i 2 , … , x i d ) % x_i=\left( {{x_{i1}},{x_{i2}}, \ldots ,{x_{id}}} \right) xi=(xi1,xi2,,xid), y i ∈ R % {y_i} \in R yiR(线性回归的输出空间是整个实数空间)
线性回归试图学到: f ( x i ) = w T x i + b ( 1 ) f\left( {{x_i}} \right) = {w^T}{x_i} + b\qquad \qquad (1) f(xi)=wTxi+b(1)使得: f ( x i ) ≃ y i f\left( {{x_i}} \right) \simeq {y_i} f(xi)yi
为便于讨论,使得: b = w 0 ⋅ x 0 b = {w_0} \cdot x{}_0 b=w0x0其中 x 0 = 1 % {x_0} = 1 x0=1。此时 w % w w就成为了 w = ( w 0 , w 1 , … , w d ) w = \left( {{w_0},{w_1}, \ldots ,{w_d}} \right) w=(w0,w1,,wd)
x % x x就成了 x i = ( 1 , x i 1 , … , x i d ) x_i=\left( {{1},{x_{i1}}, \ldots ,{x_{id}}} \right) xi=(1,xi1,,xid)期望学得的函数为 f ( x i ) = w T x i f\left( {{x_i}} \right) = {w^T}{x_i} f(xi)=wTxi
2.预测值和真实值之间都肯定存在差异 ε % \varepsilon ε,对于每个样本: y i = w T x i + ε i ( 2 ) {y_i} = {w^T}{x_i} + {\varepsilon _i \qquad \qquad(2)} yi=wTxi+εi(2)
假设误差 ε % \varepsilon ε是独立同分布的,并且服从高斯分布。即: p ( ε i ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) ( 3 ) p\left( {{\varepsilon _i}} \right) = \frac{1}{{\sqrt {2\pi } \sigma }}\exp \left( { - \frac{{{\varepsilon _i}^2}}{{2{\sigma ^2}}}} \right)\qquad\qquad (3) p(εi)=2π σ1exp(2σ2εi2)(3)
将(2)代入(3)中,得到在已知参数 w % w w和数据 w i % w_i wi的情况下,预测值为 y i % y_i yi的条件概率: p ( y i ∣ x i ; w ) = 1 2 π σ exp ⁡ ( − ( y i − w T x i ) 2 2 σ 2 ) ( 4 ) p\left( {{y_i}\left| {{x_i};w} \right.} \right) = \frac{1}{{\sqrt {2\pi } \sigma }}\exp \left( { - \frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \right)\qquad \qquad (4) p(yixi;w)=2π σ1exp(2σ2(yiwTxi)2)(4)
3.将(4)连乘得到在已知参数 w % w w和数据x的情况下,预测值为 y % y y的条件概率,这个条件概率在数值上等于,likelihood(w|x,y),也就是在已知现有数据的条件下, w % w w是真正参数的概率,即似然函数: L ( w ) = ∏ i = 1 m p ( y i ∣ x i ; w ) = ∏ i = 1 m 1 2 π σ exp ⁡ ( − ( y i − w T x i ) 2 2 σ 2 ) ( 5 ) L\left( w \right) {\rm{ = }}\prod\limits_{i = 1}^m {p\left( {{y_i}\left| {{x_i};w} \right.} \right)} = \prod\limits_{i = 1}^m {\frac{1}{{\sqrt {2\pi } \sigma }}} \exp \left( { - \frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \right) \qquad \qquad (5) L(w)=i=1mp(yixi;w)=i=1m2π σ1exp(2σ2(yiwTxi)2)(5)
为什么要引入似然函数:为了根据样本估计参数值。
为什么要对似然函数进行log变换:由于乘法难解,通过对数可以将乘法转换为加法,简化计算。
对数似然函数: ℓ ( w ) = log ⁡ ∏ i = 1 m 1 2 π σ exp ⁡ ( − ( y i − w T x i ) 2 2 σ 2 ) = ∑ i = 1 m log ⁡ 1 2 π σ exp ⁡ ( − ( y i − w T x i ) 2 2 σ 2 ) = ∑ i = 1 m log ⁡ 1 2 π σ + ∑ i = 1 m l o g ( exp ⁡ ( − ( y i − w T x i ) 2 2 σ 2 ) ) = m log ⁡ 1 2 π σ − ∑ i = 1 m ( y i − w T x i ) 2 2 σ 2 = m log ⁡ 1 2 π σ − 1 σ 2 1 2 ∑ i = 1 m ( y i − w T x i ) 2 ( 6 ) \begin{array}{l} \ell\left( w \right) = \log \prod\limits_{i = 1}^m {\frac{1}{{\sqrt {2\pi } \sigma }}} \exp \left( { - \frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \right)\\ = \sum\limits_{i = 1}^m {\log \frac{1}{{\sqrt {2\pi } \sigma }}} \exp \left( { - \frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \right)\\ = \sum\limits_{i = 1}^m {\log \frac{1}{{\sqrt {2\pi } \sigma }}} + \sum\limits_{i = 1}^m {log\left( {\exp \left( { - \frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \right)} \right)} \\ = m\log \frac{1}{{\sqrt {2\pi } \sigma }} - \sum\limits_{i = 1}^m {\frac{{{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}}}{{2{\sigma ^2}}}} \\ = m\log \frac{1}{{\sqrt {2\pi } \sigma }} - \frac{1}{{{\sigma ^2}}}\frac{1}{2}\sum\limits_{i = 1}^m {{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}} \end{array}(6) (w)=logi=1m2π σ1exp(2σ2(yiwTxi)2)=i=1mlog2π σ1exp(2σ2(yiwTxi)2)=i=1mlog2π σ1+i=1mlog(exp(2σ2(yiwTxi)2))=mlog2π σ1i=1m2σ2(yiwTxi)2=mlog2π σ1σ2121i=1m(yiwTxi)2(6)

得到目标函数: J ( w ) = 1 2 ∑ i = 1 m ( y i − w T x i ) 2 = 1 2 ∥ [ y 1 − w T x 1 y 2 − w T x 2 ⋯ y m − w T x m ] ∥ 2 = 1 2 ∥ [ y 1 y 2 ⋯ y m ] − w T [ x 1 x 2 ⋯ x m ] ∥ 2 = 1 2 ∥ y − w T X ∥ 2 = 1 2 ( y − w T x ) T ( y − w T x ) ( 7 ) ( 最 小 二 乘 法 ) \begin{array}{l} J(w) = \frac{1}{2}\sum\limits_{i = 1}^m {{{\left( {{y_i} - {w^T}{x_i}} \right)}^2}} \\ = \frac { 1 } { 2 } \left\| \left[ \begin{array} { c } { y _ { 1 } - w ^ { T } x _ { 1 } } \\ { y _ { 2 } - w ^ { T } x _ { 2 } } \\ { \cdots } \\ { y _ { m } - w ^ { T } x _ { m } } \end{array} \right] \right\| ^ { 2 }= \frac { 1 } { 2 } \left\| \left[ \begin{array} { l } { y _ { 1 } } \\ { y _ { 2 } } \\ { \cdots } \\ { y _ { m } } \end{array} \right] - w ^ { T } \left[ \begin{array} { c } { x _ { 1 } } \\ { x _ { 2 } } \\ { \cdots } \\ { x _ { m } } \end{array} \right] \right\| ^ { 2 } \\ = \frac{1}{2}{\left\| {y - {w^T}X} \right\|^2} = \frac{1}{2}{\left( {y - {w^T}x} \right)^T}\left( {y - {w^T}x} \right)\end{array} \qquad (7) (最小二乘法) J(w)=21i=1m(yiwTxi)2=21y1wTx1y2wTx2ymwTxm2=21y1y2ymwTx1x2xm2=21ywTX2=21(ywTx)T(ywTx)(7)
为什么要让目标函数越小越好:似然函数表示样本成为真实的概率,似然函数越大越好,也就是目标函数
J ( w ) % J\left( w \right) J(w)越小越好。
4. 目标函数是凸函数,只要找到一阶导数为0的位置,就找到了最优解。
因此求偏导: ∂ J ( w ) ∂ w = 1 2 ∂ ∂ w ( ( y − w T x ) T ( y − w T x ) ) = 1 2 ∂ ∂ w ( ( y − X w ) T ( y − X w ) ) = 1 2 ∂ ∂ w ( w T X T X w − 2 w T X y + y T y ) = 1 2 ( X T X w + X T X w − 2 X y ) = X T X w − X y ( 8 ) \begin{array}{l} \frac{{\partial J\left( w \right)}}{{\partial w}} = \frac{1}{2}\frac{\partial }{{\partial w}}\left( {{{\left( {y - {w^T}x} \right)}^T}\left( {y - {w^T}x} \right)} \right)\\ = \frac{1}{2}\frac{\partial }{{\partial w}}\left( {{{\left( {y - Xw} \right)}^T}\left( {y - Xw} \right)} \right)\\ = \frac{1}{2}\frac{\partial }{{\partial w}}\left( {{w^T}{X^T}Xw - 2{w^T}Xy + {y^T}y} \right)\\ {\rm{ = }}\frac{1}{2}\left( {{X^T}Xw{\rm{ + }}{X^T}Xw{\rm{ - }}2Xy} \right)\\ {\rm{ = }}{X^T}Xw{\rm{ - }}Xy \end{array} \qquad\qquad (8) wJ(w)=21w((ywTx)T(ywTx))=21w((yXw)T(yXw))=21w(wTXTXw2wTXy+yTy)=21(XTXw+XTXw2Xy)=XTXwXy(8)
5. 令偏导等于0
∂ J ( w ) ∂ w = 0 ( 9 ) \frac{{\partial J\left( w \right)}}{{\partial w}} = {\rm{0}} \qquad\qquad (9) wJ(w)=0(9)
得到:
X T X w = X y ( 10 ) {X^T}Xw = Xy \qquad\qquad (10) XTXw=Xy(10)
情况一: X T X % {X^T}X XTX可逆,唯一解。令公式(10)为零可得最优解为:
w ∗ = ( X T X ) − 1 X T y ( 11 ) w^* = {\left( {{X^T}X} \right)^{ - 1}}X^Ty \qquad\qquad (11) w=(XTX)1XTy(11)
学得的线性回归模型为:
y ∧ = w T X = X T w = X T ( X T X ) − 1 X T y ( 12 ) \mathop y\limits^ \wedge = {w^T}X = {X^T}w = {X^T}{\left( {{X^T}X} \right)^{ - 1}}{X^T}y \qquad\qquad (12) y=wTX=XTw=XT(XTX)1XTy(12)
情况二: X T X % {X^T}X XTX不可逆,可能有多个解。选择哪一个解作为输出,将有学习算法的偏好决定,常见的做法是增加 λ % \lambda λ扰动。
w ∗ = ( X T X + λ I ) − 1 X T y ( 13 ) {w^*} = {\left( {{X^T}X + \lambda I} \right)^{ - 1}}{X^T}y \qquad\qquad (13) w=(XTX+λI)1XTy(13)

线性回归可以解决什么问题?

对大量的观测数据进行处理,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测。 解决的就是通过已知的数据得到未知的结果。 例如:对房价的预测、判断信用评价、电影票房预估等。

过拟合欠拟合如何解决?

过拟合,欠拟合是什么?
  • 图(1)预测的结果与真实的结果误差比较大不能很好的拟合数据,表示为欠拟合(训练集与预测集的准确率都低)。
  • 图(2)预测的结果与真实的结果误差较小可以拟合数据,表示为合适拟合。
  • 图(3)预测的结果与真实的结果误差太小对训练数据的拟合太强 ,表示为过拟合(训练集准确率高,测试集准确率低)在这里插入图片描述
如何解决过拟合,欠拟合?
  • 使用正则化项,也就是给loss 加上一个参数项,正则化项有L1正则化、L2正则化、ElasticNet(弹性网络)。加入这个正则化项好处:

    • 控制参数幅度,不让模型“无法无天”。
    • 限制参数搜索空间
    • 解决欠拟合与过拟合的问题。
  • 正则化的一般形式 ∑ i = 1 M L ( y i , f ( x i ; θ ) ) + λ J ( f ) \sum_{i=1}^M L(y_i, f(x_i;\theta)) + \lambda J(f) i=1ML(yi,f(xi;θ))+λJ(f)

  • 正则化项一般是模型复杂度的单调递增函数。当模型越复杂的时正则化项越大,而当模型越复杂的时候就越容易产生过拟合。因此我们不仅要最小化损失函数,同时还要减小模型的复杂度。
    作用:防止过拟合,提高泛化能力。

  • 上式中 λ 是模型复杂度和损失函数之间的权衡,当λ很大时,模型越越简单,但是可能会发生欠拟合。当λ很小时,模型复杂,模型可能会发生过拟合。通常使用交叉验证确定λ 。

  • 正则化项可以对应于贝叶斯先验概率,简单的模型先验概率比较高,复杂的模型概率比较小。

  • 有两种方式可以表示正则化项 L1正则化、L2正则化 ∑ i = 1 M L ( y i , f ( x i ; θ ) ) + λ ∣ ∣ θ ∣ ∣ 1   ( L 1 正 则 化 ) ∑ i = 1 M L ( y i , f ( x i ; θ ) ) + λ ∣ ∣ θ ∣ ∣ 2   ( L 2 正 则 化 ) \sum_{i=1}^M L(y_i, f(x_i;\theta)) + \lambda ||\theta||_1 \qquad\ (L1正则化) \\ \sum_{i=1}^M L(y_i, f(x_i;\theta)) + \lambda ||\theta||_2 \qquad\ (L2正则化) i=1ML(yi,f(xi;θ))+λθ1 (L1)i=1ML(yi,f(xi;θ))+λθ2 (L2)

  • 两者都可以表示模型的复杂度,但两者的作用却不一样
    在这里插入图片描述

  • 对于 L1范数,参数更趋向于等于0,学习得到的参数更加稀疏,具有特征选择的作用。

    • 惩罚项表示为图中的黑色棱形,随着梯度下降法的不断逼近,与棱形第一次产生交点,而这个交点很容易出现在坐标轴上。这就说明了L1正则化容易得到稀疏矩阵。
    • 应用场景:L1正则化(Lasso回归)可以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0,从而增强模型的泛化能力。对于高的特征数据,尤其是线性关系是稀疏的,就采用L1正则化(Lasso回归),或者是要在一堆特征里面找出主要的特征,那么L1正则化(Lasso回归)更是首选了。
  • 对于L2范数,每个参数都比较均衡,非0参数比较多,得到的参数更加平滑,可以防止过拟合。

    • 惩罚项表示为图中的黑色圆形,随着梯度下降法的不断逼近,与圆第一次产生交点,而这个交点很难出现在坐标轴上。这就说明了L2正则化不容易得到稀疏矩阵,同时为了求出损失函数的最小值,使得w1和w2无限接近于0,达到防止过拟合的问题。
    • 应用场景:只要数据线性相关,用LinearRegression拟合的不是很好,需要正则化,可以考虑使用岭回归(L2)。如果输入特征的维度很高,而且是稀疏线性关系的话, 岭回归就不太合适,考虑使用Lasso回归(L1)。
  • ElasticNet其实就是L1与L2的综合(既加入L1也加入L2):

    • 应用场景:ElasticNet在我们发现用Lasso回归太过(太多特征被稀疏为0),而岭回归也正则化的不够(回归系数衰减太慢)的时候,可以考虑使用ElasticNet回归来综合,得到比较好的结果。

线性回归优点or缺点!

  • 优点:
      (1)思想简单,实现容易。建模迅速,对于小数据量、简单的关系很有效;
      (2)是许多强大的非线性模型的基础。
      (3)线性回归模型十分容易理解,结果具有很好的可解释性,有利于决策分析。
      (4)蕴含机器学习中的很多重要思想。
      (5)能解决回归问题。
  • 缺点:
      (1)对于非线性数据或者数据特征间具有相关性多项式回归以建模.
      (2)以很好地表达高度复杂的数据

线性回归vs逻辑回归!

  • (1)线性回归要求因变量服从正态分布,logistic回归对变量分布没有要求。
  • (2)线性回归要求因变量(Y)是连续性数值变量,而logistic回归要求因变量是分类型变量。
  • (3)线性回归要求自变量和因变量呈线性关系,而logistic回归不要求自变量和因变量呈线性关系
  • (4)线性回归是直接分析因变量与自变量的关系,而logistic回归是分析因变量取某个值的概率与自变量的关系
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

年少无为呀!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值