【Datawhale X 李宏毅苹果书 AI夏令营】深度学习详解笔记 1.1
第 1 章 机器学习基础
机器学习(Machine Learning):让机器具备找一个函数的能力,使得机器能够使用这个函数完成不同的事。
- 回归(regression):要找的函数的输出是一个数值,一个标量(scalar)
- 分类(classification):要找的函数的输出是针对输入从设定好的类别(class)里面选择一个(选则一个正确的选项)。
- 结构化学习:产生一个有结构的物体,比如让机器画一张图,写一篇文章。
1.1 案例学习
机器学习找函数的过程,分成 3 个步骤。
1. 确定模型(model)
- 写出一个带有未知参数的函数 ,这个有未知的参数(parameter)的函数称为模型(model)。
- 根据对这个问题本质上的了解,即领域知识(domain knowledge),猜测模型的形式。
- e.g. 模型
- 特征(feature) 是这个函数里面已知的,它是来自于后台的信息。
- 跟 是未知的参数。 称为权重(weight), 称为偏置(bias)。
2. 定义损失(loss)
- 损失是函数 ,其输入是这个模型的参数。
- 损失函数输出的值代表:现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。
- 可以通过计算估测的值 跟真实值 (即标签(label))的差距 , 之后累加差距得到损失,即:
-
可以定义 ,称为平均绝对误差(Mean Absolute Error,MAE)。
-
可以定义 ,称为称为均方误差(Mean SquaredError,MSE)。
-
有一些任务中 y 和 yˆ 都是概率分布,这个时候可能会选择交叉熵(cross entropy)。
-
得到损失函数后,我们便可以计算模型针对各个参数的损失,画出来的等高线图称为误差表面(error surface)。
3. 最优化模型
- e.g. 找一个 跟 ,把未知的参数找一个数值出来,看代哪一个数值进去可以让损失 的值最小,就是要找的 跟 ,这个可以让损失最小的 跟 称为 跟 代表它们是最好的一组 跟 ,可以让损失的值最小。
- 梯度下降(gradient descent) 是经常会使用的优化的方法。
- 移动参数让损失变小。(下面以一元函数为例)
- 第一件事情是这个地方的斜率,斜率大步伐就跨大一点,斜率小步伐就跨小一点。
- 另外,学习率(learning rate) 也会影响步伐大小。学习率是自己设定的,如果 设大一点,每次参数更新就会量大,学习可能就比较快。如果 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)。
- 把这个步骤写成公式即为:
-
重复做这个步骤,直到给定的次数,或者斜率为 。
-
梯度下降有缺点,有的时候没有找到真正最好的解,没有找到可以让损失最小的参数。
- 我们需要找到真的可以让损失最小的地方,称为全局最小值(global minima),而有些时候我们只能找到局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。
- 事实上局部最小值是一个假问题,在做梯度下降的时候,真正面对的难题不是局部最小值。而是高位空间中的鞍点。
-
多维情形下,把参数写为向量,求斜率改为求梯度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探