文章目录
- 前言
- 学习目标
- 一、机器学习
- 二、案例学习
- 三、隐藏任务
- 隐藏任务①:
- 1. **回归 (Regression)**
- 2. **分类 (Classification)**
- 3. **模型 (Model)**
- 4. **特征 (Feature)**
- 5. **超参数 (Hyperparameter)**
- 6. **训练集 (Training Set)**
- 7. **验证集 (Validation Set)**
- 8. **测试集 (Test Set)**
- 9. **过拟合 (Overfitting)**
- 10. **欠拟合 (Underfitting)**
- 11. **损失函数 (Loss Function)**
- 12. **正则化 (Regularization)**
- 13. **梯度下降 (Gradient Descent)**
- 14. **交叉验证 (Cross-Validation)**
- 隐藏任务②:
- 1. 预测函数模型
- 2. 绝对误差
- 3. 损失函数(平均绝对误差 MAE)
- 4. 均方误差(MSE)
- 5. 梯度下降法的权重更新
- 隐藏任务③:
- 隐藏任务④:
- 隐藏任务⑤:
- 总结
前言
本文是【Datawhale X 李宏毅苹果书 AI夏令营】的Task1学习笔记打卡。
学习目标
李宏毅老师对应视频课程:https://www.bilibili.com/video/BV1JA411c7VT?p=2
一、机器学习
随着要找的函数不同,机器学习有不同的类别。假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归。
除了回归以外,另一个常见的任务是分类(classification,)。分类任务要让机器做选择题。
在机器学习领域里面,除了回归跟分类以外,还有结构化学习(structured learning)。
结构化学习(Structured Learning)通常指的是处理和学习结构化数据的任务。结构化数据具有内在的复杂结构或关系,而不仅仅是简单的向量或标量。与传统的分类或回归任务不同,结构化学习的目标是预测复杂对象,例如序列、树或图形。
二、案例学习
机器学习找函数的过程,分成 3 个步骤。第一个步骤是写出一个带有未知参数的函数 f,其能预测未来观看次数。比如将函数写成y = b + wx1 (1.1)
猜测往往来自于对这个问题本质上的了解,即领域知识(domain knowledge)
如图 1.2 所示的等高线图,就是试了不同的参数,计算它的损失,画出来的等高线图称为误差表面(error surface)。
右侧红点这个位置是真的可以让损失最小的地方,称为全局最小值(global minima),而 wT 这个地方称为局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。
事实上局部最小值是一个假问题,在做梯度下降的时候,真正面对的难题不是局部最小值。
有两个参数的情况下使用梯度下降,其实跟刚才一个参数没有什么不同。如果一个参数没有问题的话,可以很快的推广到两个参数。
三、隐藏任务
隐藏任务①:
找出本篇中形如回归(regression)加粗字体的术语,并用自己的话进行解释,列成表格,与学习群的其他小伙伴讨论你的理解和搜索到的相关案例。
1. 回归 (Regression)
- 定义:回归是一种监督学习任务,目标是预测连续值输出。例如,预测房价、温度等。
- 示例:线性回归(Linear Regression)、多元回归(Multiple Regression)。
2. 分类 (Classification)
- 定义:分类也是一种监督学习任务,目标是将输入数据分配到预定义的类别中。例如,垃圾邮件过滤(垃圾邮件或正常邮件)。
- 示例:逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine, SVM)。
3. 模型 (Model)
- 定义:模型是指用于进行预测的数学或计算机程序,基于训练数据的模式,做出预测或决策。模型可以是简单的线性模型,也可以是复杂的深度神经网络。
- 示例:线性模型(Linear Model)、神经网络(Neural Network)。
4. 特征 (Feature)
- 定义:特征是从数据中提取的有助于预测的输入变量。特征是模型学习的基础,通常由原始数据转换或处理得到。
- 示例:在房价预测中,特征可以是房子的面积、卧室数量、位置等。
5. 超参数 (Hyperparameter)
- 定义:超参数是模型的外部配置参数,无法通过训练数据直接学习得到,而需要在训练前设置。它们影响模型的训练过程和最终性能。
- 示例:学习率(Learning Rate)、正则化系数(Regularization Coefficient)、树的深度(Depth of Trees)等。
6. 训练集 (Training Set)
- 定义:训练集是用于训练模型的数据集,通过学习这些数据,模型调整其参数以最大化预测性能。
- 示例:一个包含房价和相关特征的数据集,用于训练房价预测模型。
7. 验证集 (Validation Set)
- 定义:验证集用于评估模型的性能并进行超参数调优。它帮助判断模型是否过拟合或欠拟合。
- 示例:在训练模型时,将数据划分为训练集和验证集,验证集用于评估模型在未见数据上的表现。
8. 测试集 (Test Set)
- 定义:测试集是完全独立于训练和验证过程的数据集,用于最终评估模型的性能。
- 示例:训练完模型后,用测试集的数据来评估模型在现实世界中的表现。
9. 过拟合 (Overfitting)
- 定义:过拟合是指模型在训练集上表现得非常好,但在新数据上表现不佳。这通常是因为模型学到了数据中的噪声或异常。
- 示例:一个过于复杂的模型,如深度过大的决策树,可能在训练数据上表现得非常好,但在测试数据上表现不佳。
10. 欠拟合 (Underfitting)
- 定义:欠拟合是指模型过于简单,无法捕捉训练数据中的模式,导致在训练集和新数据上都表现不佳。
- 示例:一个线性模型可能无法准确预测具有非线性关系的数据,表现出欠拟合。
11. 损失函数 (Loss Function)
- 定义:损失函数用于衡量模型预测值与实际值之间的差距。模型通过最小化损失函数来优化其参数。
- 示例:均方误差(Mean Squared Error, MSE)、交叉熵损失(Cross-Entropy Loss)。
12. 正则化 (Regularization)
- 定义:正则化是一种防止过拟合的技术,通过在损失函数中加入惩罚项,使模型的复杂度降低,从而提升泛化能力。
- 示例:L1正则化(Lasso)、L2正则化(Ridge)。
13. 梯度下降 (Gradient Descent)
- 定义:梯度下降是一种优化算法,通过迭代调整模型参数,使损失函数达到最小值。模型通过计算损失函数的梯度,沿梯度方向更新参数。
- 示例:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent, SGD)。
14. 交叉验证 (Cross-Validation)
- 定义:交叉验证是一种评估模型性能的技术,通过将数据集分成多个子集,反复训练和验证模型,得到更可靠的性能评估。
- 示例:k折交叉验证(k-Fold Cross-Validation)。
隐藏任务②:
整理出本篇中所有的公式,手动摘录,并尝试理解。
1. 预测函数模型
y
=
b
+
w
x
1
y = b + wx_1
y=b+wx1
其中,
y
y
y是预测的结果,例如某天的观看次数;
x
1
x_1
x1是已知的特征,如前一天的观看次数;
b
b
b是偏置,
w
w
w是权重。该公式用于根据已知数据预测目标值。
2. 绝对误差
e
=
∣
y
−
y
^
∣
e = |y - \hat{y}|
e=∣y−y^∣
绝对误差用于衡量预测值$ \hat{y}
与实际值
与实际值
与实际值y$之间的差异。
3. 损失函数(平均绝对误差 MAE)
L
=
1
N
∑
n
e
n
L = \frac{1}{N} \sum_{n} e_n
L=N1n∑en
其中,
N
N
N是数据的数量,
e
n
e_n
en是第
n
n
n个预测值的误差。MAE用于衡量整体预测误差。
4. 均方误差(MSE)
e
=
(
y
−
y
^
)
2
e = (y - \hat{y})^2
e=(y−y^)2
MSE用于度量平方误差,这比绝对误差更加惩罚大的误差。
5. 梯度下降法的权重更新
w
1
←
w
0
−
η
∂
L
∂
w
∣
w
=
w
0
w_1 \leftarrow w_0 - \eta \frac{\partial L}{\partial w}\Big|_{w=w_0}
w1←w0−η∂w∂L
w=w0
其中,
η
\eta
η是学习率,表示每次迭代中参数的更新幅度。该公式用于更新权重
w
w
w以最小化损失函数。
隐藏任务③:
找出机器学习找函数的3个步骤!并查找资料,交叉佐证这些步骤。
三步骤可以概括为:
- 定义模型:选择一个模型并初始化其参数。
- 定义损失函数:定义一个损失函数来量化模型预测的准确性。
- 优化:使用优化算法来最小化损失函数,从而找到最佳的模型参数。
隐藏任务④:
隐藏任务:归纳梯度下降的步骤。
首先选择一个点,随后我们在这个点取微分,并且定义一个学习率,我们假设步长为该点的微分乘上学习率(这样做的好处,当曲线趋近平缓的时候,微分也小,往后逼近的速度也会变慢),我们就按照这个步长依次往最小点逼近,直到逼近或者达到一个相对满意的效果。如果是两个变量,就要乘以负数的步长,因为这个双变量的微分是有方向的,我们要按照一个钝角的方向才能靠拢,而最好的方向显然就是180度,所以要乘负号。
隐藏任务⑤:
为什么局部最小是一个假问题,局部最小怎么解决?真正的难题是什么?
鞍点(Saddle Points),过拟合(Overfitting),欠拟合(Underfitting),计算资源,模型设计 是真正的难点。
总结
好看爱看。