目录
一、机器学习简介 (Introduction to Machine Learning)
三、深入了解机器学习 (Descending into ML)
经验风险最小化(ERM, empirical risk minimization)
结构风险最小化 (SRM, structural risk minimization)
随机梯度下降法 (SGD, stochastic gradient descent)
小批量随机梯度下降法 (SGD, mini-batch stochastic gradient descent)
一、机器学习简介 (Introduction to Machine Learning)
- 样本是指数据的特定实例:x
- 有标签样本具有 {特征, 标签}:(x, y)
- 用于训练模型
- 无标签样本具有 {特征, ?}:(x, ?)
- 用于对新数据做出预测
- 模型可将样本映射到预测标签:y'
- 由模型的内部参数定义,这些内部参数值是通过学习得到的
二、问题构建 (Framing)
基本框架:
监督式机器学习
非监督式机器学习
在监督式机器学习中, 我们将学习如何创建模型来结合输入信息, 对以前从未见过的数据做出有用的预测。
当我们训练该模型时,会为其提供标签。以垃圾邮件过滤模型为例,标签可以是 “垃圾邮件或非垃圾邮件”等内容,它是我们试图预测的目标。
特征是我们表示数据的方式。特征可以从电子邮件中提取,例如, 电子邮件中的字词、“收件人和发件人地址”、各种路由或标题信息, 以及任何可以从电子邮件中提取并提供给机器学习系统的信息。
样本是一份数据。例如,一封电子邮件。它可以是有标签的样本, 其中包含电子邮件中呈现的特征信息, 以及标签值“垃圾邮件或非垃圾邮件”。这些信息可能来自用户。或者,它也可以是无标签样本, 例如,一封我们拥有关于它的特征信息、 但不知道它是否为垃圾邮件的电子邮件。我们要做的很可能是对其进行分类, 将其放入用户的收件箱或“垃圾邮件”文件夹。
最后,我们会获得一个模型, 该模型是执行预测的工具。我们将通过从数据中学习规律这一过程来尝试创建模型。
什么是(监督式)机器学习?简单来说,它的定义如下:
- 机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。
标签(label)
标签是我们要预测的事物,即简单线性回归中的
y
变量。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何事物。
特征 (feature)
特征是输入变量,即简单线性回归中的
x
变量。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,按如下方式指定:{x1,x2,...xN}在垃圾邮件检测器示例中,特征可能包括:
- 电子邮件文本中的字词
- 发件人的地址
- 发送电子邮件的时段
- 电子邮件中包含“一种奇怪的把戏”这样的短语。
样本(example)
样本是数据集的一行,指数据的特定实例:x。(我们采用粗体 x 表示它是一个矢量。)我们将样本分为以下两类:
- 有标签样本 (labeled example)
- 无标签样本(unlabeled example)
有标签样本同时包含特征和标签。即:
labeled examples: {features, label}: (x, y)
我们使用有标签样本来训练模型。在我们的垃圾邮件检测器示例中,有标签样本是用户明确标记为“垃圾邮件”或“非垃圾邮件”的各个电子邮件。
例如,下表显示了从包含加利福尼亚州房价信息的数据集中抽取的 5 个有标签样本:
housingMedianAge
(特征)totalRooms
(特征)totalBedrooms
(特征)medianHouseValue
(标签)15 5612 1283 66900 19 7650 1901 80100 17 720 174 85700 14 1501 337 73400 20 1454 326 65500
无标签样本包含特征,但不包含标签。即:
unlabeled examples: {features, ?}: (x, ?)
在使用有标签样本训练了我们的模型之后,我们会使用该模型来预测无标签样本的标签。在垃圾邮件检测器示例中,无标签样本是用户尚未添加标签的新电子邮件。
模型 (model)
机器学习系统从训练数据学到的内容的表示形式。多含义术语,可以理解为下列两种相关含义之一:
- 一种 TensorFlow 图,用于表示预测计算结构。
- 该 TensorFlow 图的特定权重和偏差,通过训练决定。
模型定义了特征与标签之间的关系。例如,垃圾邮件检测模型可能会将某些特征与“垃圾邮件”紧密联系起来。我们来重点介绍一下模型生命周期的两个阶段:
-
训练 (training)表示创建或学习模型。确定最佳模型的过程。也就是说,您向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系。
-
推断 (inference)表示将训练后的模型应用于无标签样本。也就是说,您使用训练后的模型来做出有用的预测 (
y'
)。例如,在推断期间,您可以针对新的无标签样本预测medianHouseValue
。在统计学中,推断是指在某些观测数据条件下拟合分布参数的过程。(请参阅维基百科中有关统计学推断的文章。)
回归与分类
回归模型 (regression model)可预测连续值。例如,回归模型做出的预测可回答如下问题:
加利福尼亚州一栋房产的价值是多少?
用户点击此广告的概率是多少?
分类模型(classification model)可预测离散值。例如,分类模型做出的预测可回答如下问题:
某个指定电子邮件是垃圾邮件还是非垃圾邮件?
这是一张狗、猫还是仓鼠图片?
三、深入了解机器学习 (Descending into ML)
1.线性回归(linear regression)
一种回归模型,通过将输入特征进行线性组合,以连续值作为输出。
人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录。Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一个模型,从而预测鸣叫声与温度的关系。
首先建议您将数据绘制成图表,了解下数据的分布情况:
毫无疑问,此曲线图表明温度随着鸣叫声次数的增加而上升。鸣叫声与温度之间的关系是线性关系吗?是的,您可以绘制一条直线来近似地表示这种关系,如下所示:
事实上,虽然该直线并未精确无误地经过每个点,但针对我们拥有的数据,清楚地显示了鸣叫声与温度之间的关系。只需运用一点代数知识,您就可以将这种关系写下来,如下所示:
y=mx+b
其中:
- y 指的是温度(以摄氏度表示),即我们试图预测的值。
- m 指的是直线的斜率。
- x 指的是每分钟的鸣叫声次数,即输入特征的值。
- b 指的是 y 轴截距。
按照机器学习的惯例,您需要写一个存在细微差别的模型方程式:
y′=b+w1x1
其中:
- y′ 指的是预测标签(理想输出值)。
- b 指的是偏差 (bias)(y 轴截距)。而在一些机器学习文档中,它称为 w0。