经典模型——线性神经网络

线性回归

回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法,线性回归(linear regression)在回归的各种标准工具中最简单且最流行。 线性回归基于几个简单的假设: 首先,假设自变量x和因变量y之间的关系是线性的, 即y可以表示为x中元素的加权和,这里通常允许包含观测值的一些噪声; 其次,我们假设任何噪声都比较正常,如噪声遵循正态分布等。

为了设计预测模型,需要收集真实的y-x数据集,这个数据集包括了等多种数据特征和标签。 在机器学习的术语中,该数据集称为训练数据集(training data set) 或训练集(training set)。 每行数据称为样本(sample), 也可以称为数据点(data point)或数据样本(data instance)。 将试图预测的目称为标签(label)或目标(target)。 预测所依据的自变量称为特征(feature)或协变量(covariate)。

通常,使用n来表示数据集中的样本数。 对索引为i的样本,其输入表示为, 其对应的标签是。线性假设是指目标可以表示为特征的加权和:

式中,称为权重(weight),权重决定了每个特征对我们预测值的影响。b 称为偏置(bias)、偏移量(offset)或截距(intercept)。 偏置是指当所有特征都取值为0时,预测值应该为多少。 如果没有偏置项,我们模型的表达能力将受到限制。

给定一个数据集,我们的目标是寻找模型的权重w和偏置b, 使得根据模型做出的预测大体符合数据里的真实情况。 输出的预测值由输入特征通过模型的仿射变换决定,仿射变换由所选权重和偏置确定。对于特征集合x,预测值可以通过矩阵-向量乘法表示为:

损失函数(loss function)能够量化目标的实际值与预测值之间的差距。 通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。 回归问题中最常用的损失函数是平方误差函数。 当样本i的预测值为,其相应的真实标签为时, 平方误差可以定义为以下公式:

为了度量模型在整个数据集上的质量,我们需计算在训练集n个样本上的损失均值(也等价于求和):

在训练模型时,我们希望寻找一组参数(w∗,b), 这组参数能最小化在所有训练样本上的总损失:

线性回归刚好是一个很简单的优化问题。线性回归的解可以用一个公式简单地表达出来, 这类解叫作解析解(analytical solution)。 首先,我们将偏置b合并到参数w中,合并方法是在包含所有参数的矩阵中附加一列。 我们的预测问题是最小化。 将损失关于w的导数设为0,得到解析解:

softmax回归

回归可以用于预测多少的问题。 比如预测房屋被售出价格,或者棒球队可能获得的胜场数,又或者患者住院的天数。事实上,我们也对分类问题感兴趣。为了估计所有可能类别的条件概率,我们需要一个有多个输出的模型,每个类别对应一个输出。 为了解决线性模型的分类问题,我们需要和输出一样多的仿射函数(affine function)。 每个输出对应于它自己的仿射函数。假设我们有4个特征和3个可能的输出类别, 我们将需要12个标量来表示权重w, 3个标量来表示偏置b

为了简洁地表达模型, 通过向量形式表达为, 这是一种更适合数学和编写代码的形式。 对于给定数据样本的特征x, 我们的输出是由权重与输入特征进行矩阵-向量乘法再加上偏置b得到的。

现在我们将优化参数以最大化观测数据的概率。 为了得到预测结果,我们将设置一个阈值,如选择具有最大概率的标签。我们希望模型的输出可以视为属于类j的概率,要将输出视为概率,我们必须保证在任何数据上的输出都是非负的且总和为1。 此外,我们需要一个训练的目标函数,来激励模型精准地估计概率。

softmax函数能够将未规范化的预测变换为非负数并且总和为1,同时让模型保持可导的性质。 为了完成这一目标,我们首先对每个未规范化的预测求幂,这样可以确保输出非负。 为了确保最终输出的概率值总和为1,我们再让每个求幂后的结果除以它们的总和。如下式:

在预测过程中,我们可以用下式来选择最有可能的类别:

softmax函数给出了一个向量, 我们可以将其视为“对给定任意输入X的每个类的条件概率”。 假设整个数据集{X, Y}具有n个样本, 其中索引i的样本由特征向量和独热标签向量组成。 我们可以将估计值与实际值进行比较:

根据最大似然估计,我们最大化,相当于最小化负对数似然:

其中,对于任何标签和模型预测,损失函数为:

利用softmax的定义,我们得到:

考虑相对于任何未规范化的预测的导数,我们得到:

接下来,通过梯度下降(gradient descent)的方法,即可优化softmax回归模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值