1. 数据
大写字母表示举证,大写字母表示向量
- 数据整体叫数据集(data set)
- 每一行数据称为一个样本(sample)
- 每一个字段表达样本的一个特征(feature)
- 第i个样本写作 $ X^{(i)} $ ,第i个样本第j个特征值写作 $X^{(i)}_j $
- 学习的任务:标记(label), 表示为 $ y $, 第 $i$ 个样本的标记写作 $ y^{ (i) } $
- 第 $i$ 行,也就是第 $i$ 个样本,也被称作特征向量 $ X^{ (i) } $
$$ X^{(i)} = \begin{pmatrix} 5.1 \\ 3.5 \\ 1.4 \\ 0.2 \end{pmatrix} $$
- 数学中通常把向量表示成列向量,所以通常特征可以表示成如下的形式:
$$ \begin{pmatrix} (X^{(1)})^T \\ (X^{(2)})^T \\ (X^{(3)})^T \end{pmatrix} $$
- 所有特征所存在的空间,称为特征空间(feature space)
- 分类任务的本质就是特征空间的划分
- 在高维空间同理
- 特征可以很抽象
- 图像中,每一个像素点都是特征,e.g. 28 * 28的图像就有28 * 28 = 784个特征
- 如果彩色图像特征更多
2. 基本任务
监督学习主要处理分类和回归问题
分类
- 二分类
- 判断邮件是否是垃圾邮件
- 判断发放给客户信用卡是否有风险
- 判断肿瘤是恶性还是良性
- 判断股票涨跌
- 多分类
- 数字识别
- 图像识别
- 判断发放给客户的信用卡的风险评级
很多复杂的问题可以转换成多分类问题
- 一些算法只支持二分类的任务,但多分类的任务可以转换成二分类的任务
- 一些算法天然可以完成多分类任务
- 多标签分类 e.g. 对图片中的元素进行划分
回归
- 结果是一个连续数字的值,而非一个类别
- 房屋价格
- 市场分析
- 学生成绩
- 股票价格
- 有一些算法只能解决回归问题,有一些算法只能解决分类问题,有一些算法都可以解决
- 一些情况下,回归任务可以简化为分类任务
流程
- 模型 $f(x)$
3. 机器学习分类
监督学习
给机器的训练数据拥有"标记"or"答案"
- 图片已经拥有了标定信息
- 银行已经积累了一定的客户信息和他们信用卡的信用情况
- 医院已经积累了一定的病人信息和他们最终确诊是否患病的情况
- 市场积累了房屋的基本信息和最终成交的金额
非监督学习
给机器的训练数据没有任何"标记"或者“答案”
对没有"标记"的数据进行分类-聚类分析
意义
对数据进行降维处理
- 特征提取:信用卡的信用评级和人的胖瘦无关?
- 特征压缩(特征之间关系很强):PCA
降维处理可以方便可视化
异常检测
半监督学习
-
一部分数据标有"标记"或者"答案",另一部分数据没有
-
更常见:各种原因产生的标记缺失
-
通常都先使用无监督学习手段对数据做处理,之后使用监督学习手段做模型的训练和预测
增强学习
根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式
行动-反馈
奖赏或惩罚机制
4. 机器学习的其他分类
批量学习(Batch Learning)
- 优点:简单
- 问题:如何适应环境变化?
- 解决方案:定时重新批量学习
- 缺点:每次重新批量学习,运算量巨大;同时,在某些环境变化非常快的情况下,甚至不可能
在线学习(Online Learning)
输入样例和正确结果迭代进入机器学习算法
- 优点:及时反映新的环境变化
- 问题:新的数据带来不好的变化?
- 解决方案:需要加强对数据进行监控
- 其他:也适用于数据量巨大,无法完全批量学习的环境
参数学习(Parametric Learning)
e.g. 假设模型定为 $f(x) = ax + b$,那么机器学习的任务就是找到合适的 $a$ 和 $b$
特点:一旦学到了参数,就不再需要原有的数据集
非参数学习(Nonparametric Learning)
- 不对模型进行过多假设
- 非参数不代表没有参数