机器学习笔记(一)
date: 2019-08-28
我使用 Python 3.7 来进行学习,没有装配环境的同学可以到下方链接查看教程。
术语
-
标签
- 我们要预测的真实事物:$ y $
- 基本线性回归中的 $ y $ 变量
-
特征
- 用于描述数据的输入变量:$ x $
- 基本线性回归中的 $ x $ 变量
-
样本
- 数据的特定实例:$ x $
- 有标签的样本 {特征,标签}:$ (x, y) $
- 用于训练模型
- 无标签的样本 {特征,?}:$ (x, ?) $
- 用于对新数据做出预测
-
模型
- 将样本映射到预测标签:$ y' $
- $ y' $ 由模型的内部参数定义,这些内部参数值通过学习得到
- 将样本映射到预测标签:$ y' $
线性回归
单个特征的线性关系:$ y' = b + w_1x_1 $
- $ y' $:我们试图预测的值
- $ w_1 $:特征1的权重
- $ x_1 $:特征1的值
- $ b $:偏差
多个特征:$ y' = b + w_1x_1 + w_2x_2 + w_3x_3 + ... $
训练与损失
训练模型表示通过有标签样本来学习(确定)所有权重和偏差的理想值。在监督式学习中,机器学习算法通过以下方式构建模型:检查多个样本并尝试找出可最大限度地减少损失的模型;这一过程称为经验风险最小化。
- 红色箭头表示损失
- 蓝线表示预测
显然,左侧的模型损失更大。当然仅仅这样是不够的,我们需要一个量化的标准:平方损失
平方损失是一种常见的损失函数,单个样本的平方损失可以描述为:
- 预测值和标签值之差的平方
- $ (y - y')^2 $
均方误差(MSE):每个样本的平均平方损失
\[MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2
\]
其中:
- $ (x, y) $ 指的是样本
- $ x $ 指的是模型进行预测时使用的特征集
- $ y $ 指的是样本的标签
- $ prediction(x) $ 指的是权重和偏差与特征集 $ x $ 结合的函数(计算出 $ y' $)
- $ D $ 指的是包含多个有标签样本(即 $ (x, y) $)的数据集
- $ N $ 指的是 $ D $ 中样本的数量
虽然 MSE 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情形的最佳损失函数。
此外,由于 MSE 的值根据平方得来,其单位与数量级均不能很好地反映原始数据的情况,在实际操作时大多会选用 RMSE,即对求得的值开平方。
Links
往期回顾
这是第一期,请点击上方链接追踪学习进度。
个人博客:https://wilfredshen.cn/