Datawhale X 李宏毅苹果书 AI夏令营

采有掇捋袺撷 2024-09-19 16:31:02 阅读 81

封面选自李宏毅老师苹果书,以下是阅读李宏毅老师苹果书5页搭配视频的阅读记录,第一次看机器学习,有点懵,但是还是了解了很多新概念,阅读过程中如果对苹果书里文段不理解,通过ai助手的回答能让我明白一些!

Part1:机器学习基础

机器学习:让机器具备找一个函数的能力。

根据找的函数的不同,机器学习有不同的类别。

Eg.找的函数的输出是一个数值、一个标量,这种机器学习的任务称为回归。(例如机器找一个函数f,输入今天PM2.5数值、平均温度、平均臭氧浓度,输出的是明天中午的PM2.5数值,找这个函数的任务称为回归)

除了回归任务,常见的还有分类任务。即让机器找一个函数做选择题,人类准备好一些选项,这些选项称为类别,函数从设定好的选项里选择一个作为输出,该任务叫做分类。分类不一定只有两个选项,可以有多个选项。(eg.邮箱筛查垃圾邮件、alphago下棋)

还有结构化学习:产生一个有结构的物体,让机器画一张图、写一篇文章,让机器产生有结构的东西的任务。

1、案例学习:预测频道流量信息

输入:今日后台流量信息

输出:预测隔天流量信息

机器学习找函数过程:

①写出一个带有未知参数的函数f

将该函数写成y=b+wx

y和x都是数值,b和w都是参数,未知,需要猜测(来源于对这个问题本质的了解,即领域知识机器学习需要一些领域知识)

*y=wx+b

带有未知参数的函数称为模型

x称为特征,是这个函数里面已知

w称为权重。b称为偏置(用来修正)

②定义损失(损失也是一个函数)

损失:函数L(b,w)

输入:y=b+wx模型里面的参数bw

输出:代表→如果把这组未知参数设定为某个数值时这笔数值优劣性。

计算损失:

真实值称为标签

估测值和真实值差距e(作差取绝对值)→每一天预测的误差

→损失L=1/N(所有e求和)

L越大代表这组参数越不好(误差越大)反之越好

差距计算方法(损失)

Ⅰ↑前文的那种方法指的是平均绝对误差(MAE)e = |yˆ − y|(所有数据点绝对误差的平均值)

Ⅱ均方误差(MSE)e = (ˆy  − y)2

Ⅲ当y和y^都是概率分布→交叉熵

输入:真实的数据

输出:结果→调整不同bw求各种bw组合bw计算损失→画出等高线图

阅读过程中    对“有一些任务中 y 和 yˆ 都是概率分布,这个时候可能会选择交叉熵(cross entropy),这个是机器学习的第 2 步。刚才举的那些数字不是真正的例子,以下的数字是真实的例子,是这个频道真实的后台的数据,所计算出来的结果。可以调整不同的 w 和不同的 b,求取各种w 和各种 b,组合起来以后,我们可以为不同的 w 跟 b 的组合,都去计算它的损失,就可以画出图 1.2 所示的等高线图。”这段话不是很理解

→通过ai助手解读

1. **概率分布**:在机器学习中,特别是在分类问题中,我们不仅关心预测的类别,还关心每个类别的预测概率。例如,在预测天气时,模型可能会给出“晴天”的概率是70%,“雨天”的概率是30%。

2. **交叉熵(Cross Entropy)**:这是一种衡量预测概率分布与实际分布差异的方法。如果模型的预测非常接近实际情况,交叉熵就会很小;如果预测与实际相差很大,交叉熵就会很大。

3. **调整 w 和 b**:这里的 \( w \)(权重)和 \( b \)(偏置)是模型中的参数。通过调整这些参数,我们可以让模型更好地拟合数据。

4. **计算损失**:对于不同的 \( w \) 和 \( b \) 的组合,我们计算它们对应的交叉熵损失,以此来评估每种组合的性能。

5. **等高线图**:这是一种图形表示方法,可以形象地展示不同 \( w \) 和 \( b \) 组合的损失值。等高线图类似于地形图,不同的高度代表不同的损失值,帮助我们直观地看到哪些参数组合的损失较小,从而找到最优的模型参数。

简单来说,这段话在告诉我们,当我们在机器学习中处理分类问题时,我们会用交叉熵来衡量模型预测的概率分布与实际分布之间的差异。通过调整模型的参数(权重和偏置),我们可以找到使模型预测最准确的参数组合,并通过等高线图来帮助我们直观地理解不同参数组合的性能。

下图引用自李宏毅老师的苹果书

在书中等高线图中越偏红色系代表计算出的损失越大(bw越差)

通过尝试不同参数计算出的损失画出的等高线图称为误差表面。

③解最优化问题

找一个bw使损失L最小

这个损失最小的bw称为b*w*(代表最好的一组bw)

梯度下降是经常会使用优化的方法。

采用由简单到复杂

先假设只有一个参数w(b已知)→w代不同数值可得不同损失→得到一条曲线(误差表面)

最优化目前转化为找一个w让损失最小

下面采用的是选取初始点+算微分即斜率

书中将其视为步伐问题,一种很有趣的解释,通俗易懂

决定步伐大小的两个因素

Ⅰ斜率(斜率大步伐大,反之小)

Ⅱ学习率η。学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。

*这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数

(关于损失可不可以为负,书中给出的解释)

而通过步伐问题算出的如图所示

为了找到最优w会不断重复这样的计算,可能会带来两种情况最终停下来

Ⅰ到达一开始算斜率时规定的上限(也就是更新次数,更新次数是自己人为规定的,也算一个超参数

Ⅱ理想的情况:调整参数时使斜率为0,最终无论多少次更新都不会移动w。

梯度下降会存在的问题

可能没办法找到全局最小值,找不到最优w

但是苹果书里说这个梯度下降无法找到全局最小值的问题是个假问题(或许因为是入门,所以好像没有详细介绍,先不纠结)

先前说梯度下降采用从简单到复杂

现在推广至两个参数,仍采用相似的计算方式

后面讲了深度学习里算微分的方式(借助程序)以及面对不同情况斜率参数的更新方向与计算方式,书中阐述感觉和步伐问题那里风格相似,看完通俗易懂

好了,本次Datawhale X 李宏毅苹果书 AI夏令营task1的阅读记录就到这里了,感觉书里将一些比较复杂的问题阐述得很清晰易懂,欢迎感兴趣的朋友前去阅读~



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。