欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[个人笔记]Google AI 机器学习速成课程 —— 深入了解机器学习

程序员文章站 2022-03-31 21:15:24
...

深入了解机器学习 (Descending into ML)

  • 线性回归是一种找到最合适的一组点的直线或超平面的方法。本模块会先直观的介绍线性回归,为介绍线性回归的机器学习方法奠定基础。
  • 学习目标
    • 复习前面学过的直线拟合知识
    • 将机器学习中的权重和偏差与直线拟合中的斜率和偏移关联起来
    • 大致了解“损失”, 详细了解平方损失

从数据中学习

  • 可以使用很多复杂的方法从数据中学习
  • 但我们可以从简单且熟悉的内容入手
  • 从简单的内容入手可以通往一些广泛使用方法的大门

线性回归

人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。

数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录。

Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一个模型,
从而预测鸣叫声与温度的关系。

  • 首先建议您将数据绘制成图表,了解下数据的分布情况:

[个人笔记]Google AI 机器学习速成课程 —— 深入了解机器学习

每分钟的鸣叫声与温度(摄氏度)的关系

  • 毫无疑问,此曲线图表明温度随着鸣叫声次数的增加而上升。
  • 鸣叫声与温度之间的关系是线性关系吗?
  • 是的,您可以绘制一条直线来近似地表示这种关系,如下所示:

[个人笔记]Google AI 机器学习速成课程 —— 深入了解机器学习

线性关系

事实上,虽然该直线并未精确无误地经过每个点,但针对我们拥有的数据,清楚地显示了鸣叫声与温度之间的关系。
只需运用一点代数知识,您就可以将这种关系写下来,如下所示:

y=mx+b

其中

  • y是指的温度(以摄氏度表示),即我们试图预测的值。
  • m指的是直线的斜率。
  • x指的是每分钟的鸣叫声次数, 即输入特征的值。
  • b指的是y轴截距。

按照机器学习的惯例,您需要写一个存在细微差别的模型方程式:

y=b+w1x1

其中:

  • y指的是预测的标签(理想输出值)
  • b指的是偏差(y轴截距)。在一些机器学习文档中,它被称为w0
  • w1指的是特征1的权重,权重与上下文中用m表示的“斜率”的概念相同。
  • x1指的是特征(已知输入项)。

要根据新的每分钟的鸣叫声值x1推断(预测)温度y,只需要将x1的值代入此模型即可。

下标(例如w1x1)预示着可以用多个特征来表示更复杂的模型。例如,具有三个特征的模型可以采用以下的方程式:

y=b+w1x1+w2x2+w3x3

关键词

  • 偏差(bias)
    • 距离原点的截距或者偏移。
    • 偏差(也称为偏差项)在机器学习模型中以bw0表示, 例如,下面的公式中,偏差为b

y=b+w1x1+w2x2+...wnxn

  • 推断
    • 在机器学习中,推断通常指以下的过程:
  • 线性回归
    • 一种回归模型
    • 通过将输入特征进行线性组合,以连续值作为输出。
  • 权重
    • 线性模型中特征的系数。
    • 或在深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果理想权重为0,则相应的特征对模型来说没有任何贡献。

训练与损失

简单来说,训练模型通过有标签样本来学习(确定)所有权重和偏差的理想值。在监督式学习中,机器学习算法通过以下方式构建模型,这个过程称之为经验风险最小化

  • 检查多个样本
  • 尝试找出可最大限度减少损失的模型

损失是对糟糕预测的惩罚。也就是说:

  • 损失是一个数值,表示对于单个样本而言模型预测的准确程度。
  • 如果模型的预测完全正确,则损失为零,否则损失就会较大。
  • 训练模型的目标是从所有样本中找到一种平均损失“较小”的权重和偏差。
  • 例如下图左侧显示的是损失较大的模型,右侧显示的是损失较小的模型,需要注意:
  • 红色箭头表示损失
  • 蓝色线表示预测

[个人笔记]Google AI 机器学习速成课程 —— 深入了解机器学习

左侧模型的损失较大;右侧模型的损失较小

请注意:

  • 左侧曲线图中的红色箭头比右侧曲线图中对应的红色箭头长得多。
  • 显然,右侧曲线图中蓝色曲线相比于左侧曲线中的蓝线,代表了预测更好效果的模型。
  • 您可能想知道自己能否创建一个数学函数(损失函数),以有意义的方式汇总各个损失。

平方损失

  • 平方损失 —— 一种常见的损失函数
    • 线性回归模型使用的是一种称为平方损失(又称为$L_2$损失)的损失函数。单个样本的平均损失如下:
= the \ sequare\ of\ the\ diffenence\ between\ the\ label\ and\ the\ prediction 

= (observation\ -\ predictions(x))^2

= (y - y')^2

均方误差(MSE)

  • 均方误差 —— 指的是每个样本的平均平方损失。
  • 要计算 MSE,请求出各个样本的所有平方损失之和,然后除以样本数量:

MSE=1N(x,y)D(yprediction(x))2

其中:

  • (x,y)指的是样本,其中
    • x指的是模型进行预测时使用的特征集(例如温度、年龄和交配成功率)。
    • y指的是样本的标签(例如,每分钟的鸣叫次数)。
  • prediciton(x)指的是权重和偏差与特征集x结合的函数。
  • D指的是包含多个有标签样本(即(x,y))的数据集。
  • N 指的是D中的样本数量。

虽然 MSE 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情形的最佳损失函数。

关键词

课后习题

请看以下两个曲线图:
[个人笔记]Google AI 机器学习速成课程 —— 深入了解机器学习

预测曲线图

  • 对于以上曲线图中显示的两个数据集,哪个数据集的均方误差 (MSE) 较高?
    • 右侧的数据集。
    • 左侧的数据集。