美文网首页
深度学习入门---线性回归和softmax

深度学习入门---线性回归和softmax

作者: 一只当归 | 来源:发表于2020-02-14 17:16 被阅读0次

线性回归

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
(摘自百度百科)

image.png
如上图,为了简单起见,这里我们假设额度只取决于两个因素,即工资和年龄。接下来我们希望探索额度与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系,则可列出下式:

image.png
有了目标,就一定会有误差,我们的目的就是使误差最小。误差是独立且同分布的。 image.png
image.png
image.png
image.png
image.png

损失函数

在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为 i 的样本误差的表达式为

l^{(i)}(\mathbf{w}, b) = \frac{1}{2} \left(\hat{y}^{(i)} - y^{(i)}\right)^2,

L(\mathbf{w}, b) =\frac{1}{n}\sum_{i=1}^n l^{(i)}(\mathbf{w}, b) =\frac{1}{n} \sum_{i=1}^n \frac{1}{2}\left(\mathbf{w}^\top \mathbf{x}^{(i)} + b - y^{(i)}\right)^2.

image.png

优化函数 - 随机梯度下降

当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solution)。

在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch)\mathcal{B},然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。

(\mathbf{w},b) \leftarrow (\mathbf{w},b) - \frac{\eta}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \partial_{(\mathbf{w},b)} l^{(i)}(\mathbf{w},b)

学习率: \eta代表在每次优化中,能够学习的步长的大小
批量大小: \mathcal{B}是小批量计算中的批量大小batch size

总结一下,优化函数的有以下两个步骤:

  • (i)初始化模型参数,一般来说使用随机初始化;
  • (ii)我们在数据上迭代多次,通过在负梯度方向移动参数来更新每个参数。

线性回归模型的特点:

建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快。
可以根据系数给出每个变量的理解和解释。
对异常值很敏感。

softmax

提到softmax,就不得不说sigmoid函数。


image.png

softmax,下面给出公式,可以看到,其实和sigmoid的函数是很类似的,其实感觉就是做了一个归一化。


image.png

举个例子

  • 分类问题
    一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。
    图像中的4像素分别记为x_1, x_2, x_3, x_4
    假设真实标签为狗、猫或者鸡,这些标签对应的离散值为y_1, y_2, y_3
    我们通常使用离散的数值来表示类别,例如y_1=1, y_2=2, y_3=3

  • 权重矢量
    \begin{aligned} o_1 &= x_1 w_{11} + x_2 w_{21} + x_3 w_{31} + x_4 w_{41} + b_1 \end{aligned}

\begin{aligned} o_2 &= x_1 w_{12} + x_2 w_{22} + x_3 w_{32} + x_4 w_{42} + b_2 \end{aligned}

\begin{aligned} o_3 &= x_1 w_{13} + x_2 w_{23} + x_3 w_{33} + x_4 w_{43} + b_3 \end{aligned}

  • 神经网络图
    下图用神经网络图描绘了上面的计算。softmax回归同线性回归一样,也是一个单层神经网络。由于每个输出o_1, o_2, o_3的计算都要依赖于所有的输入x_1, x_2, x_3, x_4,softmax回归的输出层也是一个全连接层。
Image Name

\begin{aligned}softmax回归是一个单层神经网络\end{aligned}

既然分类问题需要得到离散的预测输出,一个简单的办法是将输出值o_i当作预测类别是i的置信度,并将值最大的输出所对应的类作为预测输出,即输出 \underset{i}{\arg\max} o_i。例如,如果o_1,o_2,o_3分别为0.1,10,0.1,由于o_2最大,那么预测类别为2,其代表猫。

相关文章

  • 深度学习入门---线性回归和softmax

    线性回归 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十...

  • 深度学习-1

    深度学习基础 介绍单层神经网络:线性回归和softmax回归多层神经网络:多层感知机 1.线性回归 例如房价预测,...

  • mxnet:softmax回归模型 && softmax运算

    1.softmax回归模型 softmax回归跟线性回归⼀样将输⼊特征与权重做线性叠加。与线性回归的⼀个主要不同在...

  • 线性回归与分类

    回顾线性回归,logistic回归和softmax。 LMS 先构造线性函数进行拟合: 定义cost functi...

  • 每天一个知识点(十四)

    最近工作有点忙,没有太多时间学习了。 Softmax回归: Softmax回归是一个线性多分类模型,来自Logis...

  • Softmax 回归

    1 简述 Logistic回归模型是 softmax回归模型 k=2 的特例,softmax回归就是一般线性回归的...

  • 深度学习

    零基础入门深度学习(1) - 感知器零基础入门深度学习(2) - 线性单元和梯度下降零基础入门深度学习(3) - ...

  • 机器学习-从线性回归到神经网络

    outline 线性回归 逻辑回归 softmax回归 神经元模型 激活函数 多层网络 本文主要简单介绍从线性回归...

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • Tensorflow学习-No.1

    0 深度学习模型训练入门 如何通过tensorflow训练最简单的全连接网络,生成线性回归模型。 来自https:...

网友评论

      本文标题:深度学习入门---线性回归和softmax

      本文链接:https://www.haomeiwen.com/subject/udtjfhtx.html