从零开始-机器学习专项(2):线性回归

从零开始-机器学习专项(2):线性回归

    • 线性回归模型
    • 目标函数
      • 损失函数(目标函数)
      • 损失函数(目标函数)解析
        • 中心极限定理
        • 高斯分布
        • 极大似然估计与损失函数极小化等价
    • 参数估计
      • 梯度下降法
        • 公式化推导
      • 随机梯度下降法(SGD)

线性回归模型

在线性回归模型中,假设特征个结果满足线性关系。
可有如下模型表征:在这里插入图片描述
其中, x x x表示自变量, y y y表示因变量, θ \theta θ表示对应自变量的权重参数, θ 0 \theta_0 θ0为偏置。
不设偏置,令 y = h θ ( x ) y=h_\theta(x) y=hθ(x),则可将上述模型转换为:
从零开始-机器学习专项(2):线性回归_第1张图片
在机器学习的具体任务中,往往会对 x x x做特征映射处理,特征映射技术包括特征哈希、特征学习、Kernel(核函数)等。较通用的表达公式如:
在这里插入图片描述

目标函数

损失函数(目标函数)

损失函数(目标函数)是用来评估模型表现好坏程度的表达式,也就是常说的loss,主要是根据模型在样本上的错误程度,在训练过程中使预测结果与真实标签的差尽可能地减小,来优化函数。在线性回归模型中,损失函数的数学表示如下(误差平方损失):
从零开始-机器学习专项(2):线性回归_第2张图片
过程中,就是不停调整 θ \theta θ参数的值,来优化损失函数(目标函数)。

损失函数(目标函数)解析

在机器学习任务中,会根据训练目标来设计不同的目标函数。而回归模型的目标函数通常就是平方损失函数。可通过概率论中的中心极限原理、高斯分布推导原因。

中心极限定理

定义:设从均值为 μ \mu μ 、方差为 δ 2 \delta ^2 δ2(有限)的任意一个数据集中抽取 n n n个样本(样本相互独立,具有相同的数学期望和方差),当 n n n充分大时,样本均值的抽样分布 Y n n \frac{Y_n}{n} nYn近似服从于均值为 μ \mu μ、方差为 δ 2 \delta^2 δ2的正态分布。
公式:
在这里插入图片描述从零开始-机器学习专项(2):线性回归_第3张图片
称随机变量 Z n Z_n Zn n n n个随机变量 X 1 , X 1 , ⋯   , X n X_1,X_1,\cdots,X_n X1,X1,,Xn的规范和。
补充:期望(Expectation, or expected value)是度量一个随机变量取值的集中位置或平均水平的最基本的数字特征;方差(Variance)是表示随机变量取值的分散性的一个数字特征。 方差越大,说明随机变量的取值分布越不均匀,变化性越强;方差越小,说明随机变量的取值越趋近于均值,即期望值。
公式:
离散型:
从零开始-机器学习专项(2):线性回归_第4张图片
连续型:
从零开始-机器学习专项(2):线性回归_第5张图片

高斯分布

即正态分布。给一个样本 x x x,假设根据公式得到的预测结果 θ T x i \theta^Tx^i θTxi与真实标签 y i y^i yi存在误差,则可列如下的表达式:
y i = θ T x i + ε i y^i=\theta^Tx^i+\varepsilon^i yi=θTxi+εi
假设误差 ε i \varepsilon^i εi服从高斯分布,则上式转化为:
ε i = y i − θ T x i \varepsilon^i=y^i-\theta^Tx^i εi=yiθTxi
x x x y y y的条件概率可表示为:
从零开始-机器学习专项(2):线性回归_第6张图片

极大似然估计与损失函数极小化等价

根据上述公式估计得到一条样本的结果概率,模型的最终目标是希望在全部样本上预测最准,也就是概率积最大,这个概率积就是似然函数。优化的目标函数即为似然函数,表示如下:
从零开始-机器学习专项(2):线性回归_第7张图片
L ( x ) L(x) L(x)取对数,可得对数似然函数:
在这里插入图片描述
由于 n , δ n,\delta n,δ都为常数,上式等价为:
在这里插入图片描述
我们可以发现,经过最大似然估计推导出来的待优化的目标函数与平方损失函数是等价的。因此可以推出:线性回归误差平方损失极小化与极大似然估计等价。

参数估计

如何调整参数 θ \theta θ使得 J ( θ ) J(\theta) J(θ)取得最小值?最常用的是梯度下降法,此外还有最小二乘法、牛顿法等。本文仅列常用的梯度下降法。

梯度下降法

在本人的另一篇博客【机器学习/深度学习/NLP-2-梯度消失和梯度爆炸】中,有对梯度下降的一个过程图,如下。
从零开始-机器学习专项(2):线性回归_第8张图片
其实,梯度下降法的流程可简述为:
①对 θ \theta θ赋值,这个值可以随机,也可设为全零向量;
②改变 θ \theta θ的值,使得 J ( θ ) J(\theta) J(θ)按梯度下降的方向进行减少。
③不断调整 θ \theta θ,直至 θ \theta θ下降到无法再下降,结束算法。
当然,在这个过程中,也可能会出现梯度消失或梯度爆炸问题。

公式化推导

对于目标函数 J ( θ ) J(\theta) J(θ)求偏导数:
从零开始-机器学习专项(2):线性回归_第9张图片
更新过程,就是 θ i \theta_i θi会向着梯度最小的方向进行减少。 θ \theta θ表示更新之前的值, a a a表示步长,也就是每次按照梯度减少的方向变化多少,由于求的是极小值,因此梯度方向是偏导数的反方向,结果为:
在这里插入图片描述
简化为:

在这里插入图片描述

随机梯度下降法(SGD)

相对于批量梯度下降(BGD)遍历数据集所有样本后更新 θ \theta θ的方式,随机梯度下降方法能够有效节省内存消耗,在机器学习任务中也更为常用。
公式为:
从零开始-机器学习专项(2):线性回归_第10张图片
在这个算法中,每次更新只用到一个训练样本,若根据当前严格不能进行迭代得到一个,此时会得到一个,有新样本进来之后,在此基础上继续迭代,又得到一组新的和,以此类推。一般来说,随机梯度下降法能更快地使目标函数达到最小值(新样本的加入,随机梯度下降法有可能会使目标函数突然变大,迭代过程中再变小。

你可能感兴趣的:(机器学习专项学习,机器学习,算法)