机器学习概述
1. 人工智能发展历史
1. 人工智能的起源
- 图灵测试
- 达特茅斯会议
2. 人工智能的发展经历了三个阶段
- 1980年代是正式成形期,尚不具备影响力。
- 1990-2010年代是蓬勃发展期,诞生了众多的理论和算法,真正走向了实用。
- 2012年之后是深度学习期,深度学习技术诞生并急速发展,较好地解决了现阶段AI的一些重点问题,并带来了产业界的快速发展。
2. 人工智能、机器学习、深度学习
1. 人工智能和机器学习、深度学习的关系
- 机器学习是人工智能的一个实现途径
- 深度学习是机器学习的一个方法(神经网路)发展而来
2. 人工智能的主要分支
- 计算机视觉(CV):机器感知环境的能力。
- 人脸识别
- 自然语言处理
- 语音识别:识别语音(说出的语言)并将其转换成对应文本的技术。
- 文本挖掘/分类:主要指文本分类,该技术可用于理解、组织和分类结构化或非结构化文本文档。
- 机器翻译(MT):利用机器的力量自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)。机器翻译方法通常可分为三大类:基于原则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。
- 机器人:机器人学(Robotics)研究的是机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理。机器人可以分成两大类:固定机器人和移动机器人。
3. 人工智能发展必备三要素
- 数据
- 算法
- 计算力
逐层、分布、并行运算能力提升
GPU、FPGA、TPU能力大幅提升
4. GPU与CPU的对比
- Cache, local memory:CPU > GPU
- Threads(线程数):GPU > CPU
- SIMD Unit(单指令多数据流,以同步方式,在同一时间内执行同一条指令):GPU > CPU
- 适合在GPU上运行的程序
- 计算密集型的程序
- 易于并行的程序
- 适合在CPU上运行的程序
- IO密集型
5. 机器学习
从数据中自动分析获得模型,并利用模型对未知数据进行预测。
选择合适的算法对模型进行训练。
6. 机器学习工作流程
- 获得数据
- 数据基本处理
- 特征工程
- 机器学习(模型训练)
- 模型评估
7. 数据简介
- 在数据集中:
- 一行数据称为一个样本
- 一列数据称为一个特征
- 有些数据有目标值(标签值),有些数据没有目标值
- 数据类型构成
- 数据类型一:特征值+目标值(目标值是连续的和离散的)
- 数据类型二:只有特征值,没有目标值
- 数据分割
- 机器学习一般的数据集会划分为两个部分:
- 训练数据:用于训练,构建模型
- 测试数据:在模型检验时使用,用于评估模型是否有效
- 划分比例:
- 训练集:70% 80% 90%
- 测试集:30% 20% 25%
- 机器学习一般的数据集会划分为两个部分:
- 数据基本处理
即对数据进行缺失值、去除异常值等处理 - 特性工程
- 概念:使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
- 意义:会直接影响机器学习的效果
- 特征工程包含内容
- 特征提取:将任意数据(如文本或图像)转换为可用于机器学习的数字特征
- 特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
- 特征降维:在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
8. 模型评估
模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估。
-
分类模型评估
- 准确率
- 预测正确的数占样本总数的比例
- 精确率
- 正确预测为正占全部预测为正的比例
- 召回率
- 正确预测为正占全部正样本的比例
- F1-score
- 主要用于评估模型的稳健性
- AUC指标
- 主要用于评估样本不均衡的情况
- 准确率
-
回归模型评估
- 均方根误差(Root Mean Squared Error, RMSE)
- RMSE是一个衡量回归模型误差率的常用公式。仅能比较误差是相同单位的模型。
R M S E = ∑ i = 1 n ( p i − a i ) 2 n a = actual target p = predicted target \begin{array}{l} RMSE=\sqrt{\frac{\sum\limits_{i=1}^n(p_i - a_i)^2}{n}}\\ \\ \text{a = actual target}\\ \text{p = predicted target} \end{array} RMSE=ni=1∑n(pi−ai)2a = actual targetp = predicted target
- 相对平方误差(Relative Squared Error, RSE)
- 与RMSE不同,RSE可以比较误差是不同单位的模型。
R S E = ∑ i = 1 n ( p i − a i ) 2 ∑ i = 1 n ( a ‾ − a i ) 2 RSE=\frac{\sum\limits_{i=1}^n(p_i - a_i)^2}{\sum\limits_{i=1}^n(\overline{a} - a_i)^2} RSE=i=1∑n(a−ai)2i=1∑n(pi−ai)2
- 与RMSE不同,RSE可以比较误差是不同单位的模型。
- 平均绝对误差(Mean Absolute Error, MAE)
- MAE与原始数据单位相同,它仅能比较误差是相同单位的模型。量级近似与RMSE,但是误差值相对小一些。
M A E = ∑ i = 1 n ∣ p i − a i ∣ n MAE=\frac{\sum\limits_{i=1}^n|p_i - a_i|}{n} MAE=ni=1∑n∣pi−ai∣
- MAE与原始数据单位相同,它仅能比较误差是相同单位的模型。量级近似与RMSE,但是误差值相对小一些。
- 相对绝对误差(Relative Absolute Error, RAE)
- 与RSE不同,RAE可以比较误差是不同单位的模型。
R A E = ∑ i = 1 n ∣ p i − a i ∣ ∑ i = 1 n ∣ a ‾ − a i ∣ RAE=\frac{\sum\limits_{i=1}^n|p_i - a_i|}{\sum\limits_{i=1}^n|\overline{a} - a_i|} RAE=i=1∑n∣a−ai∣i=1∑n∣pi−ai∣
- 与RSE不同,RAE可以比较误差是不同单位的模型。
- 决定系数(Coefficient of Determination)
- 决定系数( R 2 R^2 R2)回归模型汇总了回归模型的解释度,由平方和术语计算而得。
-
R
2
R^2
R2描述了回归模型所解释的因变量方差在总方差中的比例。
R
2
R^2
R2很大,即自变量和因变量之间存在线性关系,如果回归模型是“完美的”,SSE为零,则
R
2
R^2
R2为1。
R
2
R^2
R2小,则自变量和因变量之间存在线性关系的证据不令人信服。如果回归模型完全失败,SSE等于SST,没有方差可被回归解释,则
R
2
R^2
R2为零。
R 2 = 1 − ∑ i = 1 n ( p i − a i ) 2 ∑ i = 1 n ( a i − a ‾ ) 2 R^2=1 - \frac{\sum\limits_{i=1}^n(p_i - a_i)^2}{\sum\limits_{i=1}^n(a_i - \overline{a})^2} R2=1−i=1∑n(ai−a)2i=1∑n(pi−ai)2
- 均方根误差(Root Mean Squared Error, RMSE)
9. 机器学习算法分类
1. 监督学习(supervised learning)(预测)
- 定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
- In:有标签,Out:有反馈
目的:预测结果 - 分类 k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
- 回归 线性回归、岭回归
2. 无监督学习(unsupervised learning)
- 定义:输入数据是由输入特征值组成。
- In:无标签,Out:无反馈
目的:发现潜在结构 - 聚类 k-means,降维
4. 半监督学习
- 已知:输入数据是由输入特征值所组成。
未知:训练样本有无标签均可
5. 强化学习
- In:决策流程及激励系统,Out:一系列行动
- 四要素:agent,环境状态,行动,奖励
- 目的:长期利益最大化,回报函数(只会显示你是否在朝着目标方向前进的延迟反应)
- 算法:马尔科夫决策,动态规划
6. 有监督,无监督算法对比:
- 监督学习 ----(分类、回归)----> 输入数据有特征有标签,即有标准答案
- 无监督学习 ----(聚类)----> 输入数据有特征无标签,即无标准答案
10. 拟合
模型评估用于评价训练好的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。
1. 欠拟合
训练不足
2. 过拟合(over-fitting)
所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。