目录
一、线性回归的基本要素
我们以⼀一个简单的房屋价格预测作为例例⼦子来解释线性回归的基本要素。这个应⽤用的⽬目标是预测⼀一栋房⼦子的售出价格(元)。我们知道这个价格取决于很多因素,如房屋状况、地段、市场⾏行行情等。为了了简单起⻅见,这⾥里里我们假设价格只取决于房屋状况的两个因素,即⾯面积(平⽅方⽶米)和房龄(年年)。接下来我们希望探索价格与这两个因素的具体关系。
1. 模型定义
设房屋的面积是x1, 房龄为x2, 出售价格为y,我们需要建立基于x1和x2来计算y的表达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输入之间是线性关系:
其中:w1和w2是权重(weight),b是偏差(bias), 且均为标量,输出模型是线性回归对真实价格y的预测。
2. 模型训练
接下来我们需要通过数据来寻找特定的模型参数值,使模型在数据上的误差尽可能⼩。这个过程叫作模型训练(model training)。
2.1 训练数据
我们通常收集一些数据,例如多栋房子的真是出售价格和他们对应的面积和房龄信息,我们希望在这个数据上面寻找相应的模型参数是的预测价格和真实价格的误差最小。这里涉及到一些机器学习的基本术语:
该数据集称作训练集
一栋房子的数据被称为一个样本(sample)
真实出售价格被称为标签(Label)
用来预测标签的连个因素(面积和房龄)叫做特征,特征用来表征样本的特点。
假设我门采集的样本数为n,索引为 i 的样本的特征为和,标签为。对于索引为 i 的房屋,线性回归模型的房屋价格预测表达式为:
2.2 损失函数
为了衡量价格预测值和真实值之间的误差,我们回选择一个非负数作为误差,且数值越小表示误差越小,一个常用的选择是平方函数(平方损失),它在索引 i 的样本误差表达式为:
通常,我们用训练数据集中所有样本误差的平均来衡量模型的质量,即:
在模型训练过程中,我们希望找出一组模型参数,记为,,,来是的训练样本的平均损失最小,即:
2.3 优化算法
解析解:当模型和损失函数形式较为简单时,上面的误差最小化问题可以直接用公式求解出来,这类解叫做解析解(analytical solution)、
数值解:大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型尽可能降低损失函数的值。这类解叫做数值解
最简单的额优化算法----小批量随机梯度下降(mini-batch stochastic gradient descent)
a. 基本思想:先随机选取一组模型参数的初始值;
接下来对参数进行多次迭代,是每次迭代都可能降低损失函数的值。具体为:先随机选取一个有固定数目训练数据样本所组成的小批量B,然后求小批量数据样本的平均损失有关模型参数的倒数(梯度),最后用此结果乘以一个正数,作为模型参数在本次跌倒的减小量。
b. 迭代公式:
其中:|B| 代表小批量样本的个数,称作学习率(learning rate)。
【注意:|B|的大小是人工选择,叫做超参数,我们说的调参就是调节超参数。】
3. 模型预测
模型训练完之后,我们将模型参数w1, w2, b在优化算法中停止时的值分别记做,, 。然后我们就可以使用线性回归模型:
来估计训练集之外的任一样本。
————————————Pytorch代码实现过程请听下回分解--------------------------