线性回归
线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。
1、线性模型
线性假设是指目标可以表示为特征的加权和。
举个例子:买房子时,房子的价格总是和房子的面积和房龄相联系,则可以列出下面式子
(1.1.1)
这里的的和称为权重(weight),权重决定了每个特征对我们预测值的影响。 𝑏称为偏置(bias)、偏移量(offset)或截距(intercept)。 偏置是指当所有特征都取值为0时,预测值应该为多少。 如果没有偏置项,我们模型的表达能力将受到限制。 严格来说,上式是输入特征的一个 仿射变换(affine transformation)。 仿射变换的特点是通过加权和对特征进行线性变换(linear transformation), 并通过偏置项来进行平移(translation)。
给定一个数据集,我们的目标是寻找模型的权重𝑤和偏置𝑏, 使得根据模型做出的预测大体符合数据里的真实价格。 输出的预测值由输入特征通过线性模型的仿射变换决定,仿射变换由所选权重和偏置确定。
拓展到一般化模型:
1.给定n维输入
2.线性模型有一个n维权重和一个标量偏差
3.输出是输入的加权和
向量版本:
<w,x>指w和x的内积(点积/数量积)
2、模型训练
1.训练数据
通常我们收集一系列真实数据来寻找特定的模型参数值式模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。
2.损失函数
损失函数(loss function)能够量化目标的实际值与预测值之间的差距。 通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。 回归问题中最常用的损失函数是平方误差函数。 当样本𝑖的预测值为𝑦^(𝑖),其相应的真实标签为𝑦(𝑖)时, 平方误差可以定义为以下公式:
(1.2.1)
常数12不会带来本质的差别,但这样在形式上稍微简单一些 (因为当我们对损失函数求导后常数系数为1)。
3.优化算法
解析解和数值解
当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解。
在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。
在每轮迭代中随机均匀采样多个样本来组成一个小批量,然后使用这个小批量来计算梯度。最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。
3.模型预测
模型训练完成后,我们将模型参数在优化算法停止时的值分别记作。注意,这里我们得到的并不一定是最小化损失函数的最优解,而是对最优解的一个近似。然后,我们就可以使用学出的线性回归模型来估算训练数据集以外任意一栋面积(平方米)为x1、房龄(年)为x2的房屋的价格了。这里的估算也叫作模型预测、模型推断或模型测试。
矢量计算表达式
两个向量相加的两种方法
1.按元素逐一做标量相加
2.将两个向量直接做矢量相加