深度学习(二)
1. 线性回归
定义:线性回归模型通过特征(输入)与权重(W)的加权求和,结合一个偏置项(b),得到对目标变量的预测值。
应用:最早应用于神经网络的输入层与输出层之间,构成了最简化的神经网络结构。
局限性:线性模型只能处理线性可分问题,对于复杂的非线性关系无能为力。
2. 激活函数
目的:为解决线性模型无法处理“线性不可分”问题的局限性,引入了激活函数的概念。
作用:激活函数将线性运算的结果进行非线性转换,使得网络能够逼近复杂的函数关系,实现分类等任务。
典型激活函数:
ReLU(修正线性单元):将小于零的输入值置为零,只保留正数部分,既增加了模型的能力又减少了不必要的计算。
其他激活函数还包括 Sigmoid 和 Tanh,但它们在某些情况下可能会导致梯度消失问题。
3. 损失函数与模型训练
损失函数:用于量化模型的预测值与真实值之间的差距。
平方损失(L2损失):常用于回归任务。
L1损失:另一种衡量误差的方式,对异常值不敏感。
交叉熵损失(Cross-entropy Loss):在处理分类问题时尤为常见。
训练目标:找到一组最优的模型参数(权重W和偏置b),使得在损失函数上的值达到最小。
优化算法:
梯度下降法:通过迭代地沿着损失函数梯度的负方向更新参数,逐步找到损失的极小值点。
小批量随机梯度下降(Mini-batch SGD):通过从数据集中随机选取一个小批次(Batch)的样本,计算这个批次的损失并相应地更新参数,更加高效和实用。
4. 梯度下降与超参数
超参数:在模型训练前就需要确定的参数。
批量大小(batch_size):将数据集划分为小批次进行训练。批量过大无法有效利用计算资源且可能导致资源瓶颈;批量过小则计算资源利用率低、训练时间长。两者都需要适中。
学习率(learning rate, LR):控制参数更新的步长。学习率过高可能导致训练不稳定,过低则会使训练过程缓慢。
梯度下降:一种优化算法,通过沿目标函数梯度的反方向迭代更新模型参数,以求解最优解。
5. Softmax 回归与分类问题
Softmax 回归:用于解决多分类问题。它将多个线性回归的输出作为输入,通过softmax函数变换,输出一组概率值,其总和为1。
置信度:模型输出的每一个概率值可解释为模型对样本属于某一特定类别的“信心”程度。最终权衡分类结果,应取概率最高的那个类别。
应用场景:多分类任务如手写数字识别(MNIST)、ImageNet(1000类)等均可使用此方法进行建模。
6. 数据与模型架构概念
独热编码(One-Hot Encoding):一种处理类别型数据的编码方式。例如,表示三类会使用三个独立的数值,其中一个为1其余为0,消除了类别间的大小顺序暗示。
全连接层(Fully Connected Layer):一种神经网络层,其特点是后一层的每个神经元都与前一层的所有神经元相连。在分类任务中,常作为最终的输出层,与softmax层配合使用。
问题类型区分:
回归问题:预测连续的数值,如房价、温度等,通常采用线性回归或类似回归器。
分类问题:预测离散的类别,如图像中的物体、文本的情感,通常采用softmax回归。
7. 梯度下降法的核心原理
参数更新方向:在梯度下降法中,参数更新的方向是沿着梯度的反方向。
优化目标:在某个损失函数的曲面上找到使函数值最小的点。如L2损失和L1损失的最低点均位于预测值接近真实值(零)的位置。
8. 损失函数讲解
介绍:神经网络中常用的三种损失函数:
L2损失与L1损失:其梯度的更新方向都指向损失函数的最低点附近,以便模型获得更优解。
交叉熵损失(Cross-entropy Loss):在处理分类问题时尤为常见。
9.总结:
主要介绍了线性回归和Softmax回归的基本概念及其在深度学习中的应用。线性回归用于预测连续值,而Softmax回归用于多类分类问题。还讲解了梯度下降法及其变体(如随机梯度下降和小批量随机梯度下降)作为优化算法,以及不同损失函数(如L2损失、L1损失、Huber损失和交叉熵损失)的选择和应用。最后,通过例子说明了Softmax运算如何将输出转换为概率分布。