监督学习| 豆包MarsCode AI刷题

106 阅读4分钟

监督学习

监督学习是一种机器学习方法,其中模型从标记的训练数据中学习,以便能够预测未见过数据的输出。在监督学习中,每个训练样本都包括输入特征和相应的输出标签。

损失函数

损失函数衡量模型预测与实际标签之间的差异。交叉熵损失函数是分类问题中常用的损失函数,它衡量模型输出的概率分布与真实标签的概率分布之间的差异。

梯度下降法

梯度下降法是一种优化算法,用于最小化损失函数。通过计算损失函数相对于模型参数的梯度(即偏导数),并沿着梯度的反方向更新参数,模型可以逐步找到最小化损失函数的参数值。

ChatGPT的预训练

ChatGPT模型的预训练过程也是一个监督学习过程。它通过预测序列中的下一个token来训练模型,这与猫狗分类问题类似,只不过这里的“类别”是词汇表中的token。ChatGPT模型通过最大化下一个token的概率来训练,这涉及到计算softmax概率和使用交叉熵损失函数。

总结

  • 监督学习:使用标记数据训练模型预测输出。
  • 损失函数:衡量预测与实际之间的差异,常用交叉熵。
  • 梯度下降法:通过迭代更新参数来最小化损失函数。
  • ChatGPT预训练:一个监督学习过程,预测序列中的下一个token。
  • 神经网络之所以能够处理非线性问题,主要是因为它们能够通过非线性激活函数和多层结构捕捉和学习数据中的复杂模式。以下是几个关键点:

1. 非线性激活函数

在神经网络中,每个神经元(或节点)除了进行加权求和外,还会通过一个非线性激活函数。这个激活函数的作用是引入非线性,使得网络能够学习和模拟非线性关系。常见的非线性激活函数包括:

  • Sigmoid:将输入压缩到0和1之间,公式为 σ(x)=11+e−xσ(x)=1+e−x1​。
  • Tanh(双曲正切):将输入压缩到-1和1之间,公式为 tanh⁡(x)=ex−e−xex+e−xtanh(x)=ex+e−xex−e−x​。
  • ReLU(线性整流):当输入大于0时输出输入值,否则输出0,公式为 ReLU(x)=max⁡(0,x)ReLU(x)=max(0,x)。
  • Leaky ReLU:ReLU的变种,允许负值有一个非零斜率。
  • Softmax:常用于多分类问题的输出层,将输出转换为概率分布。

2. 多层结构

单层神经网络(即没有隐藏层的网络)只能解决线性可分问题。通过增加隐藏层,神经网络可以构建更复杂的函数映射,从而解决非线性问题。每增加一层,网络的“表达能力”就会增加,能够捕捉更复杂的数据模式。

3. 特征转换

神经网络通过每一层的加权求和和非线性激活函数,实际上是在进行特征转换。原始输入特征被转换成更高维的特征空间,在这个新的特征空间中,原本线性不可分的数据可能变得线性可分。

4. 大规模参数

神经网络拥有大量的参数(权重和偏置),这使得它们能够拟合复杂的函数。每个参数都是在训练过程中学习得到的,以最小化预测误差。

5. 反向传播算法

反向传播算法使得神经网络能够学习复杂的非线性函数。通过计算损失函数关于每个参数的梯度,网络可以更新权重,以减少预测误差。

6. 深度学习

深度学习是指具有多个隐藏层的神经网络,它们能够学习非常复杂的数据表示。深度学习模型已经在图像识别、自然语言处理等领域取得了显著的成功,这些领域的数据通常具有高度的非线性特征。