Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门班-task1

机器学习与深度学习详解

1. 机器学习(Machine Learning,ML)与深度学习(Deep Learning,DL)概述

1.1 机器学习(ML)

机器学习是人工智能的一个子领域,致力于开发算法和技术,使计算机能够自动从数据中学习和推断。与传统编程不同,机器学习依赖于从样本数据(即训练数据)中获取模式和规律,而不是通过硬编码规则。通过学习过程,模型可以预测或决策,无需明确编程指令。

机器学习的三种主要类型

  1. 监督学习:模型在有标注的训练数据上进行训练,学习输入与输出之间的映射关系。应用场景包括图像分类、语音识别等。
  2. 无监督学习:模型在无标注的数据上进行训练,主要任务是发现数据的结构或模式,如聚类、降维等。典型应用包括市场分割、特征提取等。
  3. 半监督学习:结合了少量有标注数据和大量无标注数据进行训练,通常用于标注数据昂贵或难以获得的场景。
  4. 强化学习:模型通过与环境交互学习,从反馈中调整策略以最大化累积奖励。典型应用包括机器人控制、游戏AI等。
1.2 深度学习(DL)

深度学习是机器学习的一个子领域,灵感来自于人类大脑的结构,特别是神经网络的概念。深度学习使用多层神经网络,每一层提取输入数据中的不同特征,逐层抽象形成高层次的表示。

深度学习的关键要素

  1. 神经网络:由多个神经元(计算单元)组成,分为输入层、隐藏层和输出层。隐藏层的数量和每层的神经元数量可以不同,通常称为网络的“深度”。
  2. 激活函数:非线性函数,将神经元的输入映射到输出。常见的激活函数包括ReLU、Sigmoid、Tanh等。
  3. 卷积神经网络(CNN):专门用于处理图像数据的深度学习模型,通过卷积操作提取图像的局部特征,广泛应用于计算机视觉领域。
  4. 递归神经网络(RNN):用于处理序列数据的模型,能够记忆并利用时间序列信息,常用于自然语言处理(NLP)等领域。

2. 回归与分类任务

2.1 回归任务

回归任务是预测一个连续值的任务。模型的目标是学习输入变量和目标值之间的映射关系,使得模型能够准确预测新数据的输出值。回归问题的输出是一个实数。

例子

  1. 房价预测:根据房屋的特征(如面积、房间数、位置等)预测房屋的价格。
  2. 股票价格预测:根据历史股票数据(如开盘价、收盘价、成交量等)预测未来某个时刻的股票价格。

常见回归算法

  1. 线性回归:模型假设输入特征与目标值之间存在线性关系。
  2. 多项式回归:扩展线性回归,允许输入特征的多项式组合。
  3. 支持向量回归(SVR):利用支持向量机原理处理回归问题。
2.2 分类任务

分类任务是将输入数据分配到一个或多个离散类别中的任务。模型的目标是学习输入数据和类别标签之间的映射关系,从而对新数据进行分类。

例子

  1. 邮件分类:根据邮件内容,将邮件分类为“垃圾邮件”或“正常邮件”。
  2. 图像识别:根据图像内容,将图像分类为不同类别,如“猫”、“狗”、“鸟”等。

常见分类算法

  1. 逻辑回归:尽管名字中带有“回归”,但实际上用于二分类问题,模型输出属于某类别的概率。
  2. K近邻(KNN):根据数据点在特征空间中与其他点的距离进行分类。
  3. 决策树:通过分割特征空间,构建决策路径来进行分类。

3. 损失函数的设置与选择

损失函数(Loss Function)是机器学习模型中用来度量预测值与真实值之间差异的函数。损失函数的选择对模型的性能有重要影响,因为它直接决定了模型的优化方向。

3.1 回归问题中的损失函数

1. 均方误差(MSE)
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

  • 使用场景:MSE通常用于回归问题,特别是当需要惩罚较大误差时。
  • 解释:MSE是预测值与真实值之间差值的平方平均值。平方惩罚意味着较大的误差将对总损失产生更大的影响。

例子:在房价预测中,MSE可以度量预测房价与实际房价之间的差异。

2. 平均绝对误差(MAE)
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i

  • 使用场景:MAE适用于希望对所有误差进行同等对待的回归问题。
  • 解释:MAE是预测值与真实值之间差异的绝对值的平均。相比MSE,它对异常值的敏感性较低。

例子:在预测出租车的等待时间时,使用MAE可以避免异常数据(如极端交通拥堵)对损失值的过度影响。

3. Huber损失
L δ ( y , y ^ ) = { 1 2 ( y − y ^ ) 2 if  ∣ y − y ^ ∣ ≤ δ , δ ⋅ ∣ y − y ^ ∣ − 1 2 δ 2 otherwise . L_\delta(y, \hat{y}) = \begin{cases} \frac{1}{2} (y - \hat{y})^2 & \text{if } |y - \hat{y}| \leq \delta, \\ \delta \cdot |y - \hat{y}| - \frac{1}{2} \delta^2 & \text{otherwise}. \end{cases} Lδ(y,y^)={21(yy^)2δyy^21δ2if yy^δ,otherwise.

  • 使用场景:Huber损失适用于同时关心均方误差和绝对误差特性的回归问题。
  • 解释:Huber损失在误差较小时与MSE一致,而在误差较大时与MAE一致,因此它对异常值的鲁棒性更高。

例子:在自动驾驶系统中预测汽车的速度时,Huber损失可以平衡正常数据和异常数据对模型训练的影响。

3.2 分类问题中的损失函数

3.2 分类问题中的损失函数

1. 交叉熵损失(Cross-Entropy Loss)

  • 对于有k个标签类别,n个样本数量的分类任务
    L = − 1 n ∑ i = 1 n ∑ k = 1 K y i k log ⁡ ( y ^ i k ) L = -\frac{1}{n} \sum_{i=1}^{n} \sum_{k=1}^{K} y_{ik} \log(\hat{y}_{ik}) L=n1i=1nk=1Kyiklog(y^ik)

  • 使用场景:交叉熵损失是分类任务中最常用的损失函数,适用于二分类和多分类任务。

  • 解释:交叉熵度量的是模型预测的概率分布与真实分布之间的差异。对于分类问题,它计算了真实标签和预测概率之间的对数损失。在训练过程中,通过最小化交叉熵损失,可以使模型的预测概率接近真实标签的概率,从而提高分类准确性。

  • 例子:在垃圾邮件分类任务中,交叉熵损失可以度量模型对“垃圾邮件”与“正常邮件”的预测概率与实际情况的差异。较高的预测概率和较低的实际标签差异会导致较低的损失,从而促使模型改进其预测性能。

4. 模型参数的更新与梯度下降法

模型参数的更新是机器学习模型训练的核心步骤。通过优化算法,如梯度下降法,模型参数在每一次迭代中更新,以最小化损失函数。

4.1 梯度下降法(Gradient Descent)

梯度下降法是一种用于优化损失函数的算法,通过计算损失函数相对于参数的梯度,模型沿着梯度下降的方向更新参数,直到找到最小损失点。梯度下降法有多种变体,常见的包括批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent, SGD)和小批量梯度下降(Mini-Batch Gradient Descent)。

4.2 梯度下降法的具体使用与原理

1. 损失函数的梯度

在梯度下降中,首先需要计算损失函数对模型参数的梯度。假设损失函数为
L ( θ ) L(\theta) L(θ),其中 θ \theta θ 表示模型参数,梯度 ∇ θ L ( θ ) \nabla_\theta L(\theta) θL(θ) 表示损失函数相对于每个参数的偏导数。这些偏导数指示了损失函数在参数空间中的变化率。

例子
考虑线性回归模型 y ^ = θ 0 + θ 1 x \hat{y} = \theta_0 + \theta_1 x y^=θ0+θ1x,其损失函数为均方误差 L ( θ ) = 1 2 n ∑ i = 1 n ( y ^ i − y i ) 2 L(\theta) = \frac{1}{2n} \sum_{i=1}^{n} (\hat{y}_i - y_i)^2 L(θ)=2n1i=1n(y^iyi)2。梯度计算如下:
∂ L ( θ ) ∂ θ 0 = 1 n ∑ i = 1 n ( y ^ i − y i ) \frac{\partial L(\theta)}{\partial \theta_0} = \frac{1}{n} \sum_{i=1}^{n} (\hat{y}_i - y_i) θ0L(θ)=n1i=1n(y^iyi)
∂ L ( θ ) ∂ θ 1 = 1 n ∑ i = 1 n ( y ^ i − y i ) x i \frac{\partial L(\theta)}{\partial \theta_1} = \frac{1}{n} \sum_{i=1}^{n} (\hat{y}_i - y_i) x_i θ1L(θ)=n1i=1n(y^iyi)xi
这些梯度值将用于更新参数 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1

2. 参数更新公式

梯度下降的核心在于参数更新。对于每个参数 θ j \theta_j θj,更新公式为:
θ j + 1 = θ j − η ⋅ ∂ L ( θ ) ∂ θ j \theta_{j+1}= \theta_j - \eta \cdot \frac{\partial L(\theta)}{\partial \theta_j} θj+1=θjηθjL(θ)
其中, η \eta η 为学习率(Learning Rate),它控制了每次更新的步伐大小。学习率过大会导致不稳定的训练过程,而学习率过小则会导致收敛速度变慢。
在这里插入图片描述

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值