一. 核心点简要归纳
-
线性回归输出是一个
连续值
(如预测房屋价格、销售额等),因此它本身属于一个回归问题
。 -
分类问题的输出是一个
离散值
(如图像分类
、垃圾邮件识别等),因此可以简单的认为输出为离散值的问题属于分类问题
。输出值为连续值的问题为回归问题。 -
softmax回归则适用于分类问题 --- 单层神经网络
二.深度学习模型的基本要素和表示方法(以线性回归为例)
- 1.模型定义
一个模型最终的输出结果往往受到很多相关因素的影响,但每个不同因子的影响程度有所区别。所以对每一种因素都会产生一个权重w来衡量其重要程度。
例子为房屋的价格预测,假设其仅与房屋的面积和年龄相关。
线性回归比较简单,在这里省略了很多因素之后可以得到下面的模型
:
- 2.模型训练
通过数据来寻找特定的模型参数值。使得模型在数据上的误差尽可能小。
2.1 训练数据
收集一系列的真实数据,例如多栋房子的真实售价与他们对应的面积和年龄;
// 一些涉及到的术语参数
`训练集(training set):` 多栋房子的价格和对应的面积、年龄
`样本(sample):` 一栋房屋称为一个样本
`标签(label):` 真实的售出价格
`特征(feature):` 用来预测标签的两个因素(面积/年龄)
特征是用来表征样本的特点。
2.2 损失函数
在模型训练中,需要衡量价格预测值与真实值之间的误差。通常会选取一个非负数作为误差。且数值越小表示误差越小。一个常用的选择是平方函数。
衡量误差的函数称为损失函数(loss function).
通常,我们用训练数据集中`所有样本误差的平均`来衡量模型预测的质量;
在模型训练中,我们希望找出一组模型参数,使得训练样本的平均损失最小。
2.3 优化算法
当模型和损失函数较为简单如上所示,就是误差最小问题的解可以直接用公式表达出来。这类解叫做`解析解(analytical solution).`
但,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解称为`数值解(numerical solution).`
在数值解的优化算法中, 小批量随机梯度下降(mini-batch stochastic gradient descent)应用较多。
在模型优化中涉及到的权重系数更新迭代,其中有针对每个批量的样本个数(批量大小,batch size), 以及学习率(learning rate).
这两个参数是人为设定且需要调节的。因此这两个参数称之为`超参数`。
但是在少数情况下, 超参数也可以通过模型训练学出。
小批量随机梯度下降方法:
- 3.模型预测
就是通过训练好的权重系数,代入模型中,当给出输入值,可以给出预测房价信息。
三、算法模型与神经网络
-
1.将线性回归与神经网络相结合
a) 输入为x1, x2(输入层的输入个数为2); 输出为o(输出层的输出个数为1);
b) 输入层不涉及计算, 所以上述神经网络的层数为1;
c) 输出层o为神经元;
d) 在这里, o的计算依赖于x1和x2,也就是说输出层的神经元和输入层中各个输入完全链接。因此这里的输出层又叫做全连接层(fully-connected layer)或者(dense layer)。
-
2.向量的加法尽可能使用矢量加法
矢量计算,可显著提升计算效率。
start = time()
c.assign(a + b) // a 和 b 为矢量加法、
time() - start