机器学习系列笔记一:Introduction
机器学习系列笔记一:Intro
文章目录
数据
以鸢尾花的数据集为例:
花萼长度 | 花萼宽度 | 花瓣长度 | 花瓣宽度 | 种类 |
---|---|---|---|---|
5.1 | 3.2 | 1.4 | 0.2 | se(0) |
7.0 | 3.2 | 4.7 | 1.4 | ve(1) |
6.3 | 3.3 | 6 | 2.5 | vi(2) |
-
数据整体叫数据集(
data set
) -
每一行数据称为一个样本(
sample
) -
除最后一列,每一列表达样本的一个特征(
feature
) -
第 个样本的所有特征集合写作特征向量 ,第个样本的第 个特征值写作
-
最后一列,称为标记(
label
),用向量表示,第个样本的标记写作 -
如果 为列向量,则特征空间可以表示为
从可视化的角度,二维(在高维空间同理)的特征空间如下所示:
其中红色表示一类,而蓝色表示另一类,从此我们可以看出分类任务的本质就是在特征空间进行切分。
基本任务
1. 分类
-
二分类任务:
比如猫狗分类(猫/狗)、垃圾邮件判断(是/否)、银行风险判定(有/无) -
多分类任务
- 手写数字识别
- 图像识别
- 银行对客户的风险评级
-
可转换为多分类问题的任务
- 围棋
- 自动驾驶(设置级别)
-
如何处理分类任务
- 一些算法只支持二分类的任务
- 但是多分类的任务可以转换为二分类的任务
- 有一些算法天然可以完成多分类任务
-
多标签分类
对图片中的人物以及其他物品都进行划分。
2. 回归
针对以波士顿房价数据为例的连续数据,机器学习将之处理为回归任务
房屋面积(平方米) | 房屋年龄(年) | 卧室数量(间) | 最近地铁站距离(km) | 价格(W) |
---|---|---|---|---|
80 | 3 | 1 | 10 | 300 |
120 | 8 | 3 | 5 | 500 |
200 | 5 | 4 | 12 | 700 |
- 结果是一个连续数字的值而非一个类别
- 房屋价格
- 市场分析
- 学生成绩
- 股票价格
- 如何处理回顾任务
- 有一些算法可以解决回归问题
- 在一些情况下,也可以将回归问题处理为分类问题,通过分类问题的算法来解决
- 无人驾驶(划分操作级别)
- 学生成绩(划分成绩的等级)
机器学习的工作流程
- 数据集
- 特征空间
- 标签向量
- 机器学习算法
- 处理分类的算法
- 处理回归的算法
- 模型
- 分类模型
- 回归模型
- 核心参数
- 权重矩阵W
- 偏置量b
机器学习算法的传统分类
监督学习
给机器的训练数据拥有“标记”或者“答案”,则称为监督式学习。
监督学习算法
- K近邻
- 线性回归和多项式回归
- 逻辑回归
- SVM
- 决策树和随机森林
无监督学习
给机器训练的数据是没有任何标记或"答案",称之为非/无监督学习
应用场景
-
对没有标记的数据进行分类-聚类分析
-
对数据进行降维处理
- 特征提取:抽取有用特征,抛弃无用特征,比如信用评级与人的胖瘦无关
- 特征压缩:PCA,可以理解为某种降维打击
-
异常检测
半监督学习
一部分数据有“ 标记”或者“答案”,而另一部分没有。
常规处理方案
- 先使用无监督学习手段对数据进行处理(将那部分没有标记的数据打上标记)
- 然后用监督学习手段做模型的训练和预测。
增强/强化学习DRL
根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式。这样的机器学习方法称之为增强学习。
代表算法
- Q-Learning
- Sarsa
- DQN
- Policy Grandients
- Actor-Critic
- DDPG
- AC3
机器学习算法的其他分类方式
批量学习(离线学习)/在线学习
批量学习(离线学习)
模型只会被离线时输入的学习资料优化,当模型投入生产环境时,后续在线输入的大量数据不会再作为该模型的学习资料。
-
优点:简单
-
问题:适应环境变化的能力不强
- 解决方法:定时重新批量学习(仅限于环境变化缓慢的场景)
-
缺点:每次重新批量学习都会对CPU/GPU造成极大的开销,同时会产生时间的开销。
在某些环境变化非常块的情景,重新批量学习是没有意义的。
在线学习
- 优点:
- 及时反映新的环境变化
- 适用于数据量巨大,完全无法批量学习的环境
- 问题:新的数据(不正常的数据)可能带来不好的变化
- 解决方案:加强对数据的监控-无监督式学习之异常检测
参数学习/非参数学习
参数学习
假设可以最大程度地简化学习过程,与此同时也限制可以学习到是什么,这种算法简化成一个已知的函数形式,即通过固定数目的参数来拟合数据的算法。
特点: 一旦模型学习到了参数,就不再需要原有的数据集。
比如房价预测就是参数学习的一种,我们试图找到房屋各个特征对房价结果的影响程度,而这些影响程度就是参数:
参数学习算法包括两个步骤:
- 选择一种目标函数的形式
- 从训练数据中学习目标函数的系数
参数学习算法的一些常见例子包括:
- Logistic Regression
- LDA(线性判别分析)
- 感知机
- 朴素贝叶斯
- 简单的神经网络
参数机器学习算法的优点:
- 简单:这些算法很容易理解和解释结果
- 快速:参数模型可以很快从数据中学习
- 少量的数据:它们不需要太多的训练数据,甚至可以很好地拟合有缺陷的数
参数机器学习算法的局限性:
- 约束:这些算法选择一种函数形式高度低限制模型本身
- 有限的复杂性:这种算法可能更适合简单的问题
- 不适合:在实践中,这些方法不太可能匹配潜在的目标(映射)函数
非参数学习
特点:不对模型进行过多假设,将模型视作一个黑盒,非参数不等于没参数。通过不做假设,它们可以从训练数据中自由地学习任何函数形式,即参数数量会随着训练样本数量的增长的算法。
非参数学习算法的一些常见例子包括:
- KNN
- 决策树,比如CART和C4.5
- SVM
非参数机器学习算法的优点:
- 灵活性:拟合大量的不同函数形式
- 能力:关于潜在的函数不需要假设(或者若假设)
- 性能:可以得到用于预测的高性能模型
非参数机器学习算法的局限性:
- 更多的数据:需要更多的训练数据用于估计目标函数
- 慢:训练很慢,因为它们常常需要训练更多的参数
- 过拟合:更多的过度拟合训练数据风险,同时它更难解释为什么要做出的具体预测
局部加权线性回归其实是一个非参数学习算法(non-parametric learning algorithm);
线性回归则是一个参数学习算法(parametric learning algorithm),因为它的参数是固定不变的,而局部加权线性回归的参数是随着预测点的不同而不同。
- 更多的数据:需要更多的训练数据用于估计目标函数
- 慢:训练很慢,因为它们常常需要训练更多的参数
- 过拟合:更多的过度拟合训练数据风险,同时它更难解释为什么要做出的具体预测
局部加权线性回归其实是一个非参数学习算法(non-parametric learning algorithm);
线性回归则是一个参数学习算法(parametric learning algorithm),因为它的参数是固定不变的,而局部加权线性回归的参数是随着预测点的不同而不同。
由于每次预测时都只看预测点附近的实例点,因此每一次预测都要重新运行一遍算法,得出一个组参数值,因此其计算代价很大。