Task1-DatawhaleX 李宏毅苹果书AI夏令营-深度学习入门
Task1-DatawhaleX 李宏毅苹果书AI夏令营-深度学习入门
1.学习链接:
文档链接:https://datawhaler.feishu.cn/wiki/BTEowP90Ri2V4SkXXR4cLiG7nBd
视频链接:
2.阅读笔记:
隐藏任务打卡:
任务一:
函数,和函数模型有什么区别?
函数和函数模型在机器学习和数学领域中是两个相关但有所区别的概念:
1. 函数:
函数是一个数学概念,它是一个规则或关系,将一个集合中的每个元素(称为输入)映射到另一个集合中的一个元素(称为输出)。
函数通常用\( f(x) \)表示,其中\( f \)是函数名,\( x \)是输入变量。
函数可以是简单的,如线性函数$f(x) = ax + b$,也可以是复杂的,如非线性函数或分段函数。
2. 函数模型:
函数模型是机器学习中的概念,它指的是一个带有参数的函数,这些参数在训练过程中需要被学习或优化。
函数模型通常用来表示数据集中的潜在关系或模式。
函数模型可以包含未知参数,例如在线性回归中,模型可能是$hat {y} = w_1x_1 + w_2x_2 + ... + w_nx_n + b $,其中$w_1, w_2, ..., w_n$是权重参数,$b$是偏置参数,它们在训练过程中通过数据来学习。
区别:
函数是一个更广泛的概念,可以是任何映射规则,不一定涉及学习过程。
函数模型特指在机器学习中用来模拟数据的函数,它包含需要通过数据学习确定的参数。
在机器学习中,我们通常构建函数模型,通过训练数据来学习模型中的参数,以便模型能够准确地预测或分类新的数据点。这个过程涉及到损失函数的定义和优化算法的应用,如梯度下降。
任务二:
整理出本篇中所有的公式,手动摘录,并尝试理解。
1. 线性模型示例: \[ y = b + wx_1 \] 这是一个简单的线性模型,其中\( y \)是预测值,\( x_1 \)是输入特征,\( b \)是偏置项,\( w \)是权重。
2. 误差计算: 对于单个误差的计算,使用绝对值误差: \[ e = |y - \hat{y}| \] - 这个公式计算了预测值\( \hat{y} \)和实际值\( y \)之间的绝对差值。
3. 总损失计算: \[ L = \frac{1}{N} \sum_{n=1}^{N} e_n \] - 这是损失函数的总和,其中\( N \)是样本数量,\( e_n \)是第\( n \)个样本的误差。损失函数通常用来衡量模型预测值与实际值之间的差距。
4. 均方误差(MSE): \[ e = (\hat{y} - y)^2 \] - 这是均方误差的计算公式,它计算了预测值与实际值差的平方,通常用于回归问题中衡量模型性能。
5. 梯度下降更新规则(单参数): \[ w_1 \leftarrow w_0 - \eta \frac{\partial L}{\partial w} \Big|_{w=w_0} \] - 这是梯度下降算法中参数更新的公式,其中\( w_1 \)是更新后的参数值,\( w_0 \)是当前参数值,\( \eta \)是学习率,\( \frac{\partial L}{\partial w} \)是损失函数对参数\( w \)的偏导数。
6. 梯度下降更新规则(多参数): \[ w_1 \leftarrow w_0 - \eta \frac{\partial L}{\partial w} \Big|_{w=w_0, b=b_0} \] \[ b_1 \leftarrow b_0 - \eta \frac{\partial L}{\partial b} \Big|_{w=w_0, b=b_0} \] 这是多参数情况下梯度下降的更新规则,同时更新权重\( w \)和偏置\( b \)。
7. 最终参数: 文中提到的最优参数值: 最优权重 \( w^* = 0.97 \)
- 最优偏置 \( b^* = 100 \)
- 这些值是通过梯度下降算法在特定数据集上找到的,可以使得损失函数达到最小。
任务三:
机器学习找函数的3个步骤 。
定义模型:首先定义一个假设函数,该函数包含一些未知参数。这个函数用来预测或决定输出值。 计算损失:然后计算损失函数,损失函数衡量当前模型参数下的预测值与实际值之间的差距。损失越小,模型的预测越准确。 优化参数:最后,通过优化算法(如梯度下降)调整模型参数,以最小化损失函数,找到最佳参数。
任务四:
归纳梯度下降的步骤。
初始化参数:为模型中的参数选择一个初始值,通常是随机的。 计算梯度:计算损失函数对每个参数的偏导数,这些偏导数构成了梯度。 更新参数:根据梯度和一个预先设定的学习率来更新参数。参数更新的方向是梯度的负方向,目的是减少损失。 迭代:重复步骤2和3,直到满足停止条件,如达到预定的迭代次数或梯度足够小。 收敛:理想情况下,这个过程会收敛到全局最小值,即找到一组参数使得损失函数达到最小。
任务五:
为什么局部最小是一个假问题,局部最小怎么解决?真正的难题是什么?
局部最小值问题被认为是一个“假问题”,因为在理论上,如果梯度下降从足够多的随机起始点开始,并且损失函数是凸的,那么所有的局部最小值都是全局最小值。然而,在实践中: 局部最小值的解决:可以通过使用动量(momentum)或更高级的优化算法(如Adam)来帮助跳出局部最小值。 真正的难题:实际上,真正的难题是梯度下降可能陷入鞍点(saddle points),即在某些方向上是最小值,在其他方向上不是。此外,损失函数可能不是凸的,导致存在多个局部最小值,这使得找到全局最小值更加困难。
任务六:
搜索资料了解线性模型的基本历史发展,以及目前的主要应用方向。
线性模型的历史可以追溯到19世纪,当时线性回归由弗朗西斯·高尔顿和后来的卡尔·皮尔逊进一步发展。线性模型的主要应用方向包括: 经济学:用于预测经济指标和建立经济模型。 金融:风险管理和资产定价。 生物统计学:分析医疗数据和遗传研究。 工程学:信号处理和系统识别。
任务七:
了解什么叫批量(batch)、以及怎么样从线性模型过度到神经元、神经网络深度学习。
批量(Batch):在机器学习中,批量指的是一次迭代中用于训练模型的数据样本的数量。小批量(mini-batch)梯度下降结合了批量梯度下降和随机梯度下降的优点。 从线性模型到神经网络: 神经元:单个神经元可以看作是一个带有权重和偏置的线性模型,它通过激活函数引入非线性。 多层感知器(MLP):由多个神经元层组成的网络,每层可以包含多个神经元,每层的输出成为下一层的输入。 深度学习:随着网络层数的增加,模型能够学习更复杂的数据表示,这使得深度学习在图像识别、自然语言处理等领域表现出色。
总结:
1 机器学习定义:机器学习是使机器能够通过数据自动学习和改进的领域,它通过寻找函数来实现这一目标。 2 任务分类:介绍了三种主要的机器学习任务:回归、分类和结构化学习,每种任务都有其特定的目标和应用场景。 3 学习过程:机器学习的过程包括定义模型、计算损失和优化参数三个步骤。这个过程涉及到选择合适的模型结构和损失函数,并通过优化算法来调整模型参数。 4 损失函数:损失函数是衡量模型预测准确性的关键,文档中提到了平均绝对误差(MAE)和均方误差(MSE)等常见的损失函数。 5 梯度下降:梯度下降是优化算法的核心,它通过迭代更新模型参数来最小化损失函数。文档还讨论了局部最小值和全局最小值的概念,以及梯度下降可能遇到的问题。 6 线性模型:通过展示了线性模型的应用,并介绍了如何使用梯度下降来找到最优的模型参数。