机器学习中的线性回归基本要素

正确的判断来自于经验,而经验来自于错误的判断。
— Frederick P. Brooks

线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。

线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、⽓温、销售额等连续值的问题。与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。
softmax回归则适用于分类问题。

线性回归的基本要素

我们以一个简单的房屋价格预测作为例⼦子来解释线性回归的基本要素。这个应用的⽬目标是预测⼀栋房子的售出价格(元)。我们知道这个价格取决于很多因素,如房屋状况、地段、市场行情等。为了简单起
见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。

kaggle房价预测比赛

模型定义

设房屋的面积为 x 1 x_1 x1,房龄为 x 2 x_2 x2,售出价格为 y y y。我们需要建立基于输入 x 1 x_1 x1 x 2 x_2 x2来计算输出 y y y的表
达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输入之间是线性关系:
y ^ = x 1 w 1 + x 2 w 2 + b \hat{y}=x_1w_1+x_2w_2+b y^=x1w1+x2w2+b

其中 w 1 w_1 w1 w 2 w_2 w2是权重(weight), b b b是偏差(bias),且均为标量。它们是线性回归模型的参数(parameter)。模型输出 y ^ \hat{y} y^是线性回归对真实价格 y y y的预测或估计。我们通常允许它们之间有一定误差。

模型训练

接下来我们需要通过数据来寻找特定的模型参数值,使模型在数据上的误差尽可能小。这个过程叫作模型训练(model training)。下面我们介绍模型训练所涉及的3个要素。

(1)训练数据
我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。

在机器器学习术语里,该数据集被称为训练数据集( training data set )或训练集( training set ),一栋房屋被称为一个样本
(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。
特征用来表征样本的特点。

假设我们采集的样本数为 n n n ,索引为 i i i的样本的特征为 x 1 ( i ) x_1^{(i)} x1(i) x 2 ( i ) x_2^{(i)} x2(i),标签为 y ^ ( i ) \hat{y}^{(i)} y^(i)。对于索引为 i i i的房屋,线性回归模型的房屋价格预测表达式为:
y ^ ( i ) = x 1 ( i ) w 1 + x 2 ( i ) w 2 + b \hat{y}^{(i)}=x_1^{(i)}w_1+x_2^{(i)}w_2+b y^(i)=x1(i)w1+x2(i)w2+b

(2)损失函数

在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取⼀个非负数作为误差,且数值越小表示误差越小。⼀个常用的选择是平方函数。它在评估索引为 i i i的样本误差的表达式为
ℓ ( i ) ( w 1 , w 2 , b ) = 1 2 ( y ^ ( i ) − y ( i ) ) 2 \ell^{(i)}(w_1,w_2,b)=\frac{1}{2}\Big(\hat{y}^{(i)}-y^{(i)}\Big)^2 (i)(w1,w2,b)=21(y^(i)y(i))2
其中常数 1 2 \frac{1}{2} 21使对平方项求导后的常数系数为1,这样在形式上稍微简单一些。显然,误差越小表示预测
价格与真实价格越相近,且当二者相等时误差为0。给定训练数据集,这个误差只与模型参数相关,因此我们将它记为以模型参数为参数的函数。在机器学习里,将衡量误差的函数称为损失函数(loss function)。这里使用的平方误差函数也称为平方损失(square loss)。

通常,我们用训练数据集中所有样本误差的平均来衡量模型预测的质量,即
ℓ ( w 1 , w 2 , b ) = 1 n ∑ i = 1 n ℓ ( i ) ( w 1 , w 2 , b ) = 1 n ∑ i = 1 n 1 2 ( x 1 ( i ) w 1 + x 2 ( i ) w 2 + b − y ( i ) ) 2 \ell(w_1,w_2,b)=\dfrac{1}{n}\sum_{i=1}^n\ell^{(i)}(w_1,w_2,b)=\dfrac{1}{n}\sum_{i=1}^n\dfrac{1}{2}\Big(x_1^{(i)}w_1+x_2^{(i)}w_2+b-y^{(i)}\Big)^2 (w1,w2,b)=n1i=1n(i)(w1,w2,b)=n1i=1n21(x1(i)w1+x2(i)w2+by(i))2
在模型训练中,我们希望找出一组模型参数,记为 w 1 ∗ , w 2 ∗ , b ∗ w_{1}^{*},w_{2}^{*},b^{*} w1,w2,b,来使训练样本平均损失最小:
w 1 ∗ , w 2 ∗ , b ∗ = arg ⁡ min ⁡ ℓ w 1 , w 2 , b ( w 1 , w 2 , b ) w_1^*,w_2^*,b^*=\underset{w_1,w_2,b}{\arg\min\ell}(w_1,w_2,b) w1,w2,b=w1,w2,bargmin(w1,w2,b)

(3)优化算法

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

在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent) 在深度
学习中被广泛使用。

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

在训练本节讨论的线性回归模型的过程中,模型的每个参数将作如下迭代:
w 1 ← w 1 − η ∣ B ∣ ∑ i ∈ B ∂ ℓ ( i ) ( w 1 , w 2 , b ) ∂ w 1 w 2 ← w 2 − η ∣ B ∣ ∑ i ∈ B ∂ ℓ ( i ) ( w 1 , w 2 , b ) ∂ w 2 b ← b − η ∣ B ∣ ∑ i ∈ B ∂ ℓ ( i ) ( w 1 , w 2 , b ) ∂ b \begin{array}{c}w_1\leftarrow w_1-\dfrac{\eta}{|B|}\sum_{i\in B}\dfrac{\partial\ell^{(i)}(w_1,w_2,b)}{\partial w_1}\\ w_2\leftarrow w_2-\dfrac{\eta}{|B|}\sum_{i\in B}\dfrac{\partial\ell^{(i)}(w_1,w_2,b)}{\partial w_2}\\ b\leftarrow b-\dfrac{\eta}{|B|}\sum_{i\in B}\dfrac{\partial\ell^{(i)}(w_1,w_2,b)}{\partial b}\\ \end{array} w1w1BηiBw1(i)(w1,w2,b)w2w2BηiBw2(i)(w1,w2,b)bbBηiBb(i)(w1,w2,b)
在上式中, ∣ B ∣ |B| B代表每个小批量中的样本个数(批量大小,batch size), η \eta η称为学习率(learning rate)并取正数。

需要强调的是,这里的批量大小和学习率的值是人为设定的,并不是通过模型训练学出的,因此叫作超参数(hyperparameter)。我们通常所说的“调参”指的正是调节超参数,例如通过反复试错来找到超参数合适的值。在少数情况下,超参数也可以通过模型训练学出。

模型预测

模型训练完成后,我们将模型参数 w 1 , w 2 , b w_{1},w_{2},b w1,w2,b在优化算法停止时的值分别记作 w ^ 1 , w ^ 2 , b ^ \hat{w}_{1},\hat{w}_{2},\hat{b} w^1,w^2,b^。注意,这里我们得到的并不一定是最小化损失函数的最优解 w 1 ∗ , w 2 ∗ , b ∗ w_{1}^{*},w_{2}^{*},b^{*} w1,w2,b,⽽而是对最优解的一个近似。然后,我们就可以使用学出的线性回归模型 x 1 w ^ 1 + x 2 w ^ 2 + b ^ x_{1}\hat{w}_{1}+x_{2}\hat{w}_{2}+\hat{b} x1w^1+x2w^2+b^来估算训练数据集以外任意一栋面积(平方米)为 x 1 x_1 x1、房龄(年)为 x 2 x_2 x2的房屋的价格了。这里的估算也叫作模型预测、模型推断或模型测试。.


下载1:人工资料大礼包
 
在「阿远学长」公众号后台回复:【1】
 即可领取一份人工资料大礼包
 包含机器学习、深度学习书籍pdf
 各大人工智能项目实战、大厂面试宝典等
 
 
下载2:人工智能实战项目
在「阿远学长」公众号菜单栏点击:【实战项目】
即可手把手复现人工智能实战项目

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值