前提条件
- 掌握入门级代数知识 应了解变量和系数,线性方程式函数图和直方图
- 熟练掌握编程基础知识,并具有一些使用python进行编程的经验 编程练习是通过TensorFlow并使用python进行编码的,应能够熟练阅读并编写包含基础结构的python代码
- 它可以提供一个可缩短编程时间的工具,假设需要编写一个程序来纠正拼写错误
- 使软件工程师自定义自己的产品,使其更符合特定的用户群体
什么是(监督式)机器学习
机器学习是通过创建模型,结合输入信息,来对从未见过的数据,做出有用的预测。
- 标签是我们要预测的真实事物y(基本线性回归中的y变量)
当我们创建模型时,会为它提供标签,以垃圾邮件过滤模型为例,标签可以是垃圾邮件或非垃圾邮件 - 特征是指用于描述数据的输入变量xi(基本线性回归中的{x1,x2,…,xn}变量)
特征可以从电子邮件中提取 - 样本是数据的特定实例(矢量x)
- 有标签样本为{特征,标签},用于训练模型
- 无标签样本为{特征,?},用于对新数据进行预测
- 模型定义了特征与标签之间的关系,其生命周期的两个阶段为训练和推断
- 训练是指向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系
- 推断是指将训练后的模型应用于无标签样本
- 回归模型可预测连续值
- 分类模型可预测离散值
线性回归
-
已知每分钟的鸣叫声和温度方面的一组数据,我们可以以此训练一个模型,从而预测鸣叫声与温度的关系。
鸣叫声与温度之间的关系是线性关系,我们可以绘制一条直线来近似地表示这种关系。模型方程式为y’=b+w1x1,我们也可以用多个特征来表示更复杂的模型。其中:
y’指的是预测标签(理想输出值)
b指的是偏差(y 轴截距)
w1指的是特征x1的权重
x1指的是特征(已知输入项)
训练与损失
- 训练模型表示通过有标签样本来学习(确定)所有权重和偏差的理想值。在监督式学习中,机器学习算法通过以下方式构建模型:检查多个样本并尝试找出可最大限度地减少损失的模型;这一过程称为经验风险最小化。
- 损失是一个数值,表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确,则损失为零,否则损失会较大。
- 平方损失是一种常见的损失函数,又称为 L2损失。单个样本的平方损失为(observation(x) - prediction(x))2,即 (y - y’)2。均方误差 (MSE) 指的是每个样本的平均平方损失,为
M S E = 1 N ∑ ( x , y ) ∈ D ( y − p r e d i c t i o n ( x ) ) 2 MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 MSE=N1(x,y)∈D∑(y−prediction(x))2其中:
(
x
,
y
)
(x,y)
(x,y)指的是样本
p
r
e
d
i
c
t
i
o
n
(
x
)
prediction(x)
prediction(x)指的是权重和偏差与特征集结合的函数。
D
D
D指的是包含多个有标签样本(即 )的数据集。
N
N
N指的是 中的样本数量。
虽然 MSE 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情形的最佳损失函数。