「机器学习」线性回归

Machine Learning-Linear Regression

线性回归基本推导过程

  • 基本的含义:一个样本,具有一个或者多个特征x(变量),一个预测值y(标签),研究x与y之间的线性关系。

例如下表中:根据工资以及年龄(特征),预测用户的贷款额度(标签)

工资$x_1$年龄$x_2$贷款额度y
40002520000
8003070000
50002835000
75003350000
120004085000

需要构造:

$$ y_{predict} = \theta_0x_0+ \theta_1x_1+\theta_2x_2\tag{1}=\theta^Tx $$

注:其中$x_0$值为1,代表常数项

使得对于对于任意i样本 $y^{(i)}_{predict}$ 与真实值$y^{(i)}$之间的误差越小越好,用数学表示,即:

$$ y^{(i)}_i = y^{(i)}_{predict} + \epsilon^{(i)}\tag{2} $$

需要假设误差项$ \epsilon^{(i)}$要符合标准正态分布,即满足期望是0,方差是$σ^2$
即:

$$ p(\epsilon^{(i)})= {1\over\sqrt{2\pi}\sigma}exp{(-{(\epsilon^{(i)})^2\over 2\sigma^2})}\tag{3} $$

将(1)式带入(2)式,再带入(3)式,对于任意i样本似然函数如下:

$$ L(\theta)_i= p(y^{(i)}|x^{(i)};\theta)=p(\epsilon^{(i)})= {1\over\sqrt{2\pi}\sigma}exp{(-{(y^{(i)}-\theta^Tx^{(i)})^2\over 2\sigma^2})} $$

解释:
似然函数是一种关于统计模型参数的函数。
给定输出y以及x时,参数$\theta$的概率「似然函数L(θ|y,x)」(在数值上)等于给定参数$\theta$的以及x后变量y的概率:L(θ|y,x)」=P(y|θ,x),我们希望似然函数越大越好,即预测值成为真实值的可能性越大。

对于m个样本而言,最大似然函数即为:

$$ L(\theta)= \Pi_{i=1}^{m}L(\theta)_i= \Pi_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)= \Pi_{i=1}^{m}{1\over\sqrt{2\pi}\sigma}exp{(-{(y^{(i)}-\theta^Tx^{(i)})^2\over 2\sigma^2})} $$

对数变化,得到对数似然函数:

$$ \log L(\theta)=\log \prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^{2}}) $$

展开化简得:

$$ \log L(\theta)=m\log \frac{1}{\sqrt{2\lambda }\sigma }-\frac{1}{\sigma ^{2}}\cdot \frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2} $$

使得似然函数最大,即要求目标函数最小,此时目标函数为:

$$ \frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}\tag{4} $$

对(4)求偏导得(以下为最小二乘法):

$$ \theta(X^{T}X)-X^{T}y $$

令偏导数等于0,得:

$$ \theta =(X^{T}X)^{-1}X^{T}y $$

但是并不是所有的目标函数都可以这样求解,从而求得参数,往往需要用到另外一种方法,在这里,线性回归只是一种特例,求导较简单。机器学习往往需要告诉电脑需要朝着什么样的方向去学习。
对于目标函数

$$ \frac{1}{2m}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2} $$

随机梯度下降(SGD)

$\alpha$为学习率,随机采用一个样本进行迭代

$$ \theta_{j}=\theta _{j}+\alpha(y^{(i)}-\theta ^{T}x^{(i)})x_{j}^{i} $$

批量梯度下降(BATCH)

所有的样本来迭代

$$ \theta_{j}=\theta _{j}+\alpha \frac{1}{m}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})x_{j}^{i} $$

小批量梯度下降(MINI-BATCH)

部分样本来进行迭代

$$ \theta_{j}=\theta _{j}+\alpha \frac{1}{k}\sum_{i=1}^{k}(y^{(i)}-\theta ^{T}x^{(i)})x_{j}^{i} $$

防止过拟合 正则项

目标函数中加入对于参数项的惩罚,防止过拟合,提高模型的泛化能力。

  • Ridge回归 也叫岭回归 L2正则($\lambda \sum_{j=1}^{m}\theta _{j}^{2}$)

$$ J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}+\lambda \sum_{j=1}^{m}\theta _{j}^{2} $$

  • LASS0 L1 正则($\lambda \sum_{j=1}^{m}\left | \theta \right |$)

$$ J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}+\lambda \sum_{j=1}^{m}\left | \theta \right | $$

  • Elastic Net

$$ J(\theta)=\frac{1}{2}\cdot \sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}+\lambda (P\sum_{j=1}^{m}\left | \theta \right |+(1-p)\sum_{j=1}^{m}\theta _{j}^{2}) $$

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值