Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门task1:通过案例学了解机器学习

一、机器学习基本概念

1.机器学习的概念

机器学习,顾名思义,机器具备有学习的能力。具体来讲,机器学习就是让机器具备找一个函数的能力。

2.机器学习的分类

随着要找的函数不同,机器学习有不同的类别。

  • **回归(regression):**要找的函数的输出是一个数值,一个标量(scalar)

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

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

例子1:每个人都有邮箱账户,邮箱账户里面有一个函数,该函数可以检测一封邮件是否 为垃圾邮件。分类不一定只有两个选项,也可以有多个选项。

例子2:AlphaGo 也是一个分类的问题,如果让机器下围棋,做一个 AlphaGo,给出的选项 与棋盘的位置有关。机器找一个函数,该函数的输入是棋盘上黑子跟白子的位置,输出就 是从可以落子的位置里面,选出下一步应该要落子的位置。

  • **结构化学习(structured learning):**机器不只是要做选择题或输出一个数字,而是产生一个有结构的物体,比如让机器画一张图,写一篇文章。

二、案例学习

接下来以视频的点击次数预测为例介绍下机器学习的运作过程。根据一个频道过往所有的信息可以预测明天的观看次数。找一个函数,该函数的输入是后台的信息,输出是隔天这个频道会有的总观看的次数。

机器学习找函数的过程,分成 3 个步骤。

1.写出一个带有未知参数的函数 f,预测未来观看次数

比如将函数写成

其中,y 是准备要预测的东西,要预测的是今天这个频道总共观看的人,y 就假设是今天总共的观看次数。x1 是这个频道,前一天总共的观看次数,y 跟 x1 都是数值,b 跟 w 是未知的参数,它是准备要通过数据去找出来的,w 跟 b 是未知的,只是隐约地猜测。猜测往往来自于对这个问题本质上的了解,即领域知识(domain knowledge)。

带有未知的参数(parameter) 的函数称为模型(model) 。模型在机器学习里面,就是一个带有未知的参数的函数,特征(feature) x1 是这个函数里面已知的,它是来自于后台的信息,而 w 跟 b 是未知的参数。w 称为权重(weight) ,b 称为偏置(bias)

2.定义损失(loss),损失也是一个函数,估测预测值与实际值的差距。

损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。

举一个具体的例子,假设未知的参数的设定是 b = 500,w = 1,预测未来的观看次数的函数就变成 y = 500 + x1。x1 代入 4800,预测隔天的观看次数结果为 yˆ = 5300,而已知的真正的结果是 4900,真实的值称为标签(label),它高估了这个频道可能的点击次数。同时可以把每一天的误差,通通加起来取得平均,计算某一段时间内每天的误差。

估测的值跟实际的值之间的差距,其实有不同的计算方法,如:

  • 平均绝对误差(Mean Absolute Error,MAE)

e = |yˆ − y|

  • 均方误差(Mean SquaredError,MSE)

e = (yˆ − y)2

有一些任务中 y 和 yˆ 都是概率分布,这个时候可能会选择交叉熵(cross entropy)。

可以调整不同的 w 和不同的 b,求取各种w 和各种 b,组合起来以后,我们可以为不同的 w 跟 b 的组合,都去计算它的损失,就可以画出所示的等高线图。

在这个等高线图上面,越偏红色系,代表计算出来的损失越大,就代表这一组 w 跟 b 越差。如果越偏蓝色系,就代表损失越小,就代表这一组 w 跟 b 越好,拿这一组 w 跟 b,放到函数里面,预测会越精准。画出来的等高线图称为误差表面(error surface)。

3.优化

找一个 w 跟 b,可以让损失 L 的值最小。**梯度下降(gradient descent)**是经常用到的方法。

简化问题,假设未知参数只有w,首先要随机选取一个初始的点,然后计算参数 w 对损失L的微分,斜率为负右移,为正左移。

移动的步伐取决于两点

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

损失函数是自己定义的,所以损失可以为任何值,即有可能是负值。

梯度下降的时候有两种情况会停下来:

  • 自己设定,在设置参数的时候,设定最多计算几次。
  • 当不断调整参数,微分为0时

梯度下降有一个很大的问题,没有找到真正最好的解,可能会停留在局部最小值(local minima) ,而不是全局最小值(global minima)

当有多个参数时,与以上单个参数的步骤类似,改为计算多个参数对损失的微分。

相关推荐
机器之心9 分钟前
AI也要007?Letta、伯克利提出「睡眠时间计算」,推理效率翻倍还不加钱
人工智能
机器之心12 分钟前
WSDM 25唯一最佳论文:从谱视角揭开推荐系统流行度偏差放大之谜
人工智能
新智元20 分钟前
国产 Vidu Q1 出道即顶流,登顶 VBench!吉卜力、广告大片、科幻特效全包了
人工智能·openai
人机与认知实验室1 小时前
宽度学习与深度学习
人工智能·深度学习·学习
新智元1 小时前
AI 永生时代来临!DeepMind「生成幽灵」让逝者赛博重生
人工智能·openai
HyperAI超神经1 小时前
【vLLM 学习】Aqlm 示例
java·开发语言·数据库·人工智能·学习·教程·vllm
cnbestec1 小时前
欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会
人工智能·机器人
爱的叹息1 小时前
关于 梯度下降算法、线性回归模型、梯度下降训练线性回归、线性回归的其他训练算法 以及 回归模型分类 的详细说明
人工智能·算法·回归·线性回归
EasyGBS1 小时前
室外摄像头异常自检指南+视频监控系统EasyCVR视频质量诊断黑科技
大数据·人工智能·音视频