机器学习&&深度学习——线性回归的基本元素

回归用来表示输入输出之间的关系。

用实际例子来解释一下线性回归:根据房屋的面积、房龄来估算房屋价格。为了实现这个预测放假的模型,需要收集一个真实的数据集,该数据集包括了房屋的销售价格、面积和房龄。

在机器学习中,这个数据集称为训练集(training set) ,每行数据称为样本(sample)数据点(data point) ,试图预测的目标称为标签(label)目标(target) 。预测所依据的自变量(面积和房龄)称为特征(feature)

通常,我们使用n来表示数据集中的样本数。对索引为i的样本,其输入表示为:
x ( i ) = [ x 1 ( i ) , x 2 ( i ) ] T x^{(i)}=[x_1^{(i)},x_2^{(i)}]^T x(i)=[x1(i),x2(i)]T

其对应的标签是:
y ( i ) y^{(i)} y(i)

线性回归的基本元素

线性模型

p r i c e = w a r e a ⋅ a r e a + w a g e ⋅ a g e + b price=w_{area}·area+w_{age}·age+b price=warea⋅area+wage⋅age+b

其中,w为权重,决定了每个特征对我们预测值的影响。b为偏置,指当所有特征取0时的预测值。

严格来说,上式是输入特征的一种仿射变换,其特点是通过加权和特征进行线性变换,并通过偏置项来进行平移。

而在机器学习中,通常使用高维数据集,建模时采用线性代数表示法会比较方便。当我们的输入包含d个特征时,我们将预测结果表示为:
y ^ = w 1 x 1 + . . . + w d x d + b \hat{y}=w_1x_1+...+w_dx_d+b y^=w1x1+...+wdxd+b

将所有的特征放到向量x中,并将所有权重放到向量w中,可以用点积来简洁地表达模型:
y ^ = w T x + b \hat{y}=w^Tx+b y^=wTx+b

显然,向量x只能对应于单个数据样本的特征。

用符号表示的矩阵X可以很方便地引用我们整个数据集的n个样本。其中,X的每一行是一个样本,每一列是一种特征

对于特征集合X,预测值可以通过矩阵-向量乘法表示为:
y ^ = X w + b \hat{y}=Xw+b y^=Xw+b

这个过程中的求和将使用广播机制,给定X和y,线性回归的目标就是找到一组权重向量w和偏置b:当给定从X的同分布中取样的新样本特征时,能使得新样本预测标签的误差尽可能小。

但即使确信特征与标签的潜在关系是线性的, 我们也会加入一个噪声项来考虑观测误差带来的影响。

因此,在开始寻找最好的模型参数w和b之前,还需要两个东西:

(1)一种模型质量的度量方式

(2)一种能够更新模型以提高模型预测质量的方法

损失函数

损失函数能够量化目标的实际值与预测值之间的差距。通常选择非负数作为损失,数值越小表示损失越小,完美预测的损失为0。

回归问题中最常用损失函数是平方误差函数:
l ( i ) ( w , b ) = 1 2 ( y ^ ( i ) − y ( i ) ) 2 l^{(i)}(w,b)=\frac{1}{2}(\hat{y}^{(i)}-y^{(i)})^2 l(i)(w,b)=21(y^(i)−y(i))2

常数1/2不会带来本质上的差别,但这样的形式会稍微简单一点(因为求导后常系数会变为1)。

由于平方误差函数中的二次方项,估计值和观测值之间较大的差异会导致更大的损失。为了度量模型在整个数据集上的质量,我们要计算在训练集n个样本上的损失均值(等价于求和):
L ( w , b ) = 1 n ∑ i = 1 n l ( i ) ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x ( i ) + b − y ( i ) ) 2 L(w,b)=\frac{1}{n}\sum_{i=1}^nl^{(i)}(w,b) =\frac{1}{n}\sum_{i=1}^n{\frac{1}{2}(w^Tx^{(i)}+b-y^{(i)})^2} L(w,b)=n1i=1∑nl(i)(w,b)=n1i=1∑n21(wTx(i)+b−y(i))2

在训练模型时,希望寻找一组参数,这组参数能最小化在所有训练样本上的总损失。

解析解

线性回归是一个很简单的优化问题,线性回归的解可以用一个公式简单表达,这类解叫做解析解。

首先,将偏置b合并到参数w中,合并方法是在包含所有参数的矩阵中附加一列。我们的预测问题是最小化:
∣ ∣ y − X w ∣ ∣ 2 ||y-Xw||^2 ∣∣y−Xw∣∣2

这在损失平面上只有一个临界点,对应于整个取余的损失极小点。将损失关于w的导数设为0,得到解析解:
w ∗ = ( X T X ) − 1 X T y w^*=(X^TX)^{-1}X^Ty w∗=(XTX)−1XTy

但是解析解对问题限制太严格,不适合广泛应用于深度学习,接下来讲解随机梯度下降,几乎可以用来优化所有深度学习模型。

相关推荐
AI优秘企业大脑5 分钟前
更新维护:定期更新、功能修复、性能优化的全面指南
大数据·人工智能
MADAO_luv8 分钟前
YOLOV11分类动物图像
深度学习·yolo·机器学习
阿里云大数据AI技术9 分钟前
云栖实录 | AI原生搜索引擎:Elasticsearch 换“芯”——AI原生搜索内核增强技术
人工智能·搜索引擎
Dev7z13 分钟前
基于Swin Transformer的皮肤病变分类与诊断系统
人工智能·深度学习·transformer
阿里-于怀16 分钟前
行业首发!Spring AI Alibaba + Nacos 支持分布式 Multi-Agent 构建
人工智能·分布式·ai·nacos·saa·multi agent
百锦再33 分钟前
Go与Python在AI大模型开发中的深度对比分析
java·开发语言·人工智能·python·学习·golang·maven
on_pluto_34 分钟前
【基础复习3】决策树
算法·决策树·机器学习
junziruruo40 分钟前
计算机视觉、医学图像处理、深度学习、多模态融合方向分析
图像处理·深度学习·计算机视觉
量子位42 分钟前
黄仁勋台上最强GPU炸场,台下感叹“中国芯片爆发”,瞄准6G投资诺基亚
人工智能
一个处女座的程序猿1 小时前
LLMs之PE:PromptX(将 AI 智能体从通用助手转变为具备行业/角色能力的交互平台)的简介、安装和使用方法、案例应用之详细攻略
人工智能·交互·agent·promptx