李宏毅学深度学习(入门)#Datawhale X 李宏毅苹果书 AI夏令营#

Task 1:机器学习基础

机器学习:机器学习就是让机器具备找一个函数的能力。机器具备找函数的能力以后,它可以完成许多任务。

机器学习的任务:

1.回归(regression)

目标函数的输出是一个数值,一个标量(scalar)。

例:假设机器要预测未来某一个时间的 PM2.5 的数值。机器要找一个函数 f,其输入是可能是种种跟预测 PM2.5 有关的指数,包括今天的 PM2.5 的数值、平均温度、平均的臭氧浓度等等,输出是明天中午的 PM2.5的数值,找这个函数的任务称为回归

 2.分类(classification)

分类任务要让机器做选择题。人类先准备好一些选项,这些选项称为类别(class),现在要找的函数的输出就是从设定好的选项里面选择一个当作输出。

例:每个人都有邮箱账户,邮箱账户里面有一个函数,该函数可以检测一封邮件是否为垃圾邮件。分类不一定只有两个选项,也可以有多个选项。AlphaGo 也是一个分类的问题,如果让机器下围棋,做一个 AlphaGo,给出的选项与棋盘的位置有关。棋盘上有 19 × 19 个位置,机器下围棋其实是一个有 19 × 19 个选项的选择题。

3.结构化学习(structured learning)

让机器产生一个有结构的物体机器,例如画一张图,写一篇文章。

机器学习找函数的三个步骤

一、写出一个带有未知参数的函数 f,形如:

w 称为权重(weight)

b 称为偏置(bias)

例:要预测的是今天(2 月 26 日)这个频道总共观看的人,y 就假设是今天总共的观看次数。x1 是这个频道,前一天(2 月 25 日)总共的观看次数,y 跟 x1 都是数值,b 跟 w 是未知的参数,它是准备要通过数据去找出来的,w 跟 b 是未知的,只是隐约地猜测。

二、定义损失(loss)

损失是函数 L(b, w),其输入是模型参数 b 跟w。损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。

例:假设未知的参数的设定是 b = 500,w = 1,预测未来的观看次数的函数就变成 y = 500 + x1。要从训练数据来进行计算损失,在这个问题里面,训练数据是这一个频道过去的观看次数。举个例子,从 2017 年 1 月 1 日到 2020 年 12 月 31 日的观看次数(此处的数字是随意生成的)如图所示,接下来就可以计算损失。

把 2017 年 1 月 1 日的观看次数,代入可得估测的值 yˆ 跟真实值 y 的差距 e。估测的值 yˆ 跟真实值 y 的差距 e。这 3 年来每一天的误差,通通都可以算出来,每一天的误差都可以得到 e。接下来把每一天的误差,通通加起来取得平均,得到损失L。

其中,N 代表训验数据的个数,即 3 年来的训练数据,就 365 乘以 3,计算出一个 L,,L 是每一笔训练数据的误差 e 相加以后的结果。L 越大,代表现在这一组参数越不好,L 越小,代表现在这一组参数越好。

误差类型

1.平均绝对误差(Mean Absolute Error,MAE):计算 y 与 yˆ 之间绝对值的差距

2.均方误差(Mean SquaredError,MSE):如果算 y 与 yˆ 之间平方的差距

3.交叉熵(cross entropy):概率分布数据使用的误差衡量标准

4.误差表面(error surface):指在权重空间中,误差函数(损失函数)与各权重参数构成的多维图像。

三、解一个最优化的问题。

解一个最优化的问题。找一个 w 跟 b,把未知的参数找一个数值出来,看代哪一个数值进去可以让损失 L 的值最小,就是要找的 w 跟 b。

梯度下降(gradient descent)

梯度下降是一种常见优化方法,是通过迭代调整参数来最小化损失函数的方法

梯度下降法的基本思想类似于一个下山的过程。假设有一个人被困在山上,他需要找到最快的方式下山到达最低点。但由于能见度低,他无法确定完整的下山路径,因此他必须利用周围的信息来指引自己。类似地,在机器学习中,我们不断调整参数,寻找使损失函数最小化的最佳路径。在这个过程中,“梯度”起着至关重要的指导作用。怎么得到梯度呢,首先要随机选取一个初始的点 w0。接下来计算 ∂L∂w |w=w0,在 w 等于 w0 的时候,参数 w 对损失的微分。计算在这一个点,在 w0 这个位置的误差表面的切线斜率。也就是这一条蓝色的虚线,它的斜率,如果这一条虚线的斜率是负的,代表说左边比较高,右边比较低。在这个位置附近,左边比较高,右边比较低。如果左边比较高右边比较低的话,就把 w 的值变大,就可以让损失变小。如果算出来的斜率是正的,就代表左边比较低右边比较高。左边比较低右边比较高,如果左边比较低右边比较高的话,就代表把 w 变小了,w 往左边移,可以让损失的值变小。这个时候就应该把 w 的值变小。

学习率(learning rate)η 也会影响步伐大小。学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)。

不足:但如果在梯度下降中,w0 是随机初始的位置,也很有可能走到 wT 这里,训练就停住了,无法再移动 w 的位置。右侧红点这个位置是真的可以让损失最小的地方,称为全局最小值(global minima),而 wT 这个地方称为局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。多个参数的推广

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值