几个概念:
符号学习、统计学习、迁移学习、深度学习、流形学习
机器学习
:机器从经验数据中“提炼”模型的学习算法;若一个程序利用经验E在T任务中P方面的性能获得改善,则称关于T和P,该程序对E进行了学习。
基本术语
:
涵义 | 英文 |
---|---|
数据集 | data set |
示例 | sample 、instance |
属性 | attribute、feature |
属性的取值 | attribute value、feature value |
属性空间 样本空间 | attribute space 、sample space |
特征向量 | feature vector |
包含m个示例的数据集 | D={ x 1 , x 2 , x 3 , . . . , x m x_1,x_2,x_3,...,x_m x1,x2,x3,...,xm} |
每个示例由d个属性描述, x i 是 样 本 空 间 χ 的 一 个 向 量 x_i是样本空间\chi的一个向量 xi是样本空间χ的一个向量 | x i = ( x i 1 ; x i 2 ; x i 3 ; . . . ; x i d ) x_i=(x_{i1};x_{i2};x_{i3};...;x_{id}) xi=(xi1;xi2;xi3;...;xid) |
数据中的潜在规律自身 | ground-truth |
学习到的某种规律 | hypothesis |
y i y_i yi是 x i x_i xi的标记(标记label是说明样例结果的信息,比如标记“好瓜”与“坏瓜”);Y是所有标记的集合即label space | ( x i ; y i ) (x_i;y_i) (xi;yi) ; y i ∈ Y y_i\in Y yi∈Y |
学习任务之“分类”:预测离散值 | classification |
回归:预测连续值 | regression |
二分类:只涉及两个类别的分类任务(一个正类,一个反类) | binary classification(positive class vs negative class) |
多分类任务 | multi-class classification |
从输入空间 χ \chi χ到Y的映射 | f : χ ↦ Y f:\chi \mapsto Y f:χ↦Y |
聚类,将数据分成若干组,每组称一个“簇” | clustering;cluster(簇) |
监督学习:训练数据拥有标记信息 | supervised learning |
无监督学习 | unsupervised learning |
泛化 | generalization |
样本的分布 D D D | distribution |
独立同分布 | i . i . d i.i.d i.i.d |
归纳偏好:机器学习算法在学习过程中对某种类型假设的偏好 | inductive bias |
对二分类,令Y={-1,+1}or {0,1}
对多分类:|Y|>2
对回归任务, Y = R , R Y=\mathbb{R},\mathbb{R} Y=R,R为实数集
概念学习
:
狭义的归纳学习要求从训练数据中学得概念,因此亦称“概念学习”
最基本的是布尔概念学习:学习“是”“不是”
机械学习
:死记硬背式学习,只“记住”训练样本
样本空间规模的计算
:
例如:西瓜可用三种属性描述,各属性分别有3,2,2种可能取值,由于还有考虑 ∅ \emptyset ∅的情况,故样本空间大小为: ( 3 + 1 ) × ( 2 + 1 ) × ( 2 + 1 ) + 1 = 37 (3+1)\times(2+1)\times(2+1)+1=37 (3+1)×(2+1)×(2+1)+1=37
版本空间version space
:与训练集一致的“假设集合”
奥卡姆剃刀(Occam's razor)
:若有多个假设与观察一致,则选最简单的那个
算法归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能
No Free Lunch Theorem
:若所有“问题”(真实目标函数)等可能出现,则任何学习算法的期望性能相同——>算法好坏要具体问题具体分析
发展历程:
“推理期”(赋予机器逻辑推理能力)->“知识期”让机器拥有知识(人把知识总结好传授给机器)->人工智能
20世纪50年代初已有机器学习的相关研究
20世纪六七十年代,统计学习理论打下基础
八十年代中期 基于神经网络的连接主义学习:“黑箱”模型;参数设置缺乏理论指导,主要靠手工“调参”
20世纪90年代中期,统计学习(statistical learning )迅速占据主流
21世纪初 连接主义学习卷土重来->深度学习
应用现状
:科学研究、数据挖掘、自动驾驶……
重要学术会议
:
国际性:ICML(国际学术会议)、NIPS(国际神经信息处理系统会议)、COLT(国际学习理论会议)
区域性:ECML(欧洲机器学习会议)、ACML(亚洲机器学习会议)
错误率
: E = a m m : 样 本 数 a : 分 类 错 误 的 样 本 数 E=\frac{a}{m}\ \ \ m:样本数 a:分类错误的样本数 E=ma m:样本数a:分类错误的样本数
精度:
1 − a m 1-\frac{a}{m} 1−ma
误差:学习器的实际预测输出与样本的真实输出之间的差异
误 差 { 训 练 误 差 o r 经 验 误 差 : 学 习 器 在 训 练 集 上 的 误 差 泛 化 误 差 : 学 习 器 在 新 样 本 上 的 误 差 误差\begin{cases}训练误差or经验误差: 学习器在训练集上的误差\\泛化误差: 学习器在新样本上的误差\end{cases} 误差{训练误差or经验误差:学习器在训练集上的误差泛化误差:学习器在新样本上的误差
注:这里误差均指误差期望
过拟合:
学习器与训练样本过度匹配,将训练样本自身一些特点当做所有潜在样本都具有的一般性质,从而使泛化性能降低
过拟合是不可避免的,只能缓解
过拟合的出现与学习算法
、数据内涵
有关
使用测试集
来获得测试误差
,作为泛化误差
的近似
从数据集D中产生出训练集S和测试集T的方法:
留出法
:D = S ∪ T , S ∩ T = ∅ D=S\cup T,S\cap T=\emptyset D=S∪T,S∩T=∅
注意:1.训练/测试集的划分要尽可能保持数据分布的一致性,如可采用分层采样
2.使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果,以消除不同划分方法的影响
3.T小则评估结果不够准确;T大则S与D差别较大,评估结果的保真性(fidelity)降低–>一般约将 2 3 到 4 5 {\frac{2}{3}} 到 \frac{4}{5} 32到54的样本用作S
交叉验证法
(k折交叉验证法)step1:将D划分为k个大小相似互斥子集: D = D 1 ∪ D 2 ∪ . . . ∪ D k D=D_1\cup D_2 \cup ...\cup D_k D=D1∪D2∪...∪Dk
每个子集尽可能保持数据一致性,即采用分层抽样得到
step2: 每次抽取k-1个子集的并集作为S,余下的子集作为T;这样可获得k组训练/测试集,进行k次训练和测试后,取均值
特点:
评估结果的稳定性和保真性很大程度上取决于k的取值,故又叫k折交叉验证(
k-fold cross validation
) k常用取值:10、5、20
与留出法相似,将D分为k个子集存在多种划分方式,为减小因样本划分不同而引入的误差通常要随机使用不同划分方式将k折交叉验证重复p次
即p次k折交叉验证
留一法:k=m(m为样本数)
每个子集包含一个样本
优点:模型较准确;缺点:数据集大是计算开销大;
自助法
:又称可重复采样
、有放回采样
引入:
希望评估的是用D训练出的模型,但留出法与交叉验证法保留部分样本作为T,这必然会引入一些因训练样本规模不同而导致的估计偏差。留一法受训练样本规模影响较小但开销又太大。
step1 产生同样具有m个样本的 D ′ D' D′:
每次从数据集D中随机挑选一个样本,拷贝放入 D ′ D' D′
重复m次
样本在m次采样中始终不被采到的概率是: ( 1 − 1 m ) m ({1-\frac{1}{m}})^m (1−m1)m
取极限: lim m → + ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim_{m \rightarrow + \infty}{({1-\frac{1}{m}})^m}\mapsto \frac{1}{e}\approx 0.368 limm→+∞(1−m1)m↦e1≈0.368
step2: 将 D ′ D' D′作为训练集,这样还有约1/3没在训练集中的样本 D D D \ D ′ D' D′ 可作为测试集(\ 表示集合减法)
这样的测试结果,也称“包外估计”(out-of-bag estimate)
特点:
在数据集较小、难以有效划分训练集/测试集时很有用;
能产生多个不同训练集,对集成学习 等有很大帮助;
改变了初始数据集的分布,会引入估计偏差–>初始数据量足够时,交叉验证法和留出法比较常用
调参与最终模型(parameter tuning):
调参常用做法:对每个参数选定一个范围和变化步长,例如在[0,0.2]范围内以0.05为步长
经过训练/测试后,学习算法和参数配置已选定。但这不是最终模型,由于训练过程只使用了部分样本,最后还应该用包含所有m个样本的数据集D重新训练模型,才得到最终模型。
tips:学得的模型在实际使用中遇到的数据:测试数据 模型选择时用于评估测试的数据集:验证集(validation set)
不同的性能度量往往导致不同的评判结果,性能度量要根据任务而定。
均方误差(mean squared error)
-回归任务最常用的性能度量
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^{m}(f(x_i)-y_i)^2 E(f;D)=m1i=1∑m(f(xi)−yi)2
积分形式: E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x E(f;D)=\int_{x\sim D}(f(x)-y)^2p(x)dx E(f;D)=∫x∼D(f(x)−y)2p(x)dx 数据分布 D D D 概率密度函数 p ( ⋅ ) p(·) p(⋅)
(markdown小tips:\sim 显示为~)
错误率与精度
:
错误率
:$E=\frac{a}{m}=\frac{1}{m}\sum_{i=1}^{m}Ⅱ(f(x_i)\neq y_i) $ a:分类错误的样本数 积分形式: ∫ x ∼ D Ⅱ ( f ( x ) ≠ y ) p ( x ) d x \int_{x \sim D}Ⅱ(f(x)\neq y)p(x)dx ∫x∼DⅡ(f(x)=y)p(x)dx
精度:
1 − a m = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) = y i ) 1-\frac{a}{m}=\frac{1}{m}\sum_{i=1}^{m}Ⅱ(f(x_i)= y_i) 1−ma=m1∑i=1mⅡ(f(xi)=yi) 积分形式: ∫ x ∼ D Ⅱ ( f ( x ) = y ) p ( x ) d x \int_{x \sim D}Ⅱ(f(x)=y)p(x)dx ∫x∼DⅡ(f(x)=y)p(x)dx
查准率(precision 准确率)、查全率(recall 召回率)与F1
:
真正例:true positive 假正例:false positive 真反例:true negative 假反例:false negative
查准率P:
1 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
查全率R:
2 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
P-R曲线:
按学习器预测的样例为正的可能性对样本排序;按此顺序逐个将样本作为正例进行预测,每次均计算出当前的查全率、查准率。
则以查准率P为纵轴、查全率R为横轴作图,得到
P-R曲线
。
一个学习器的曲线完全被另一个学习器的曲线”包住“则后者性能优于前者,如上图 A优于C
若两条曲线交叉,可使用P-R曲线下的面积、“平衡点”、“F1”考察
平衡点(Break-Event Point BEP)
:P==R时的取值 BEP高者性能较优
F1
:
定义:P与R的调和平均数 1 F = 1 2 ( 1 P + 1 R ) \frac{1}{F}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F1=21(P1+R1)
F 1 = 2 × P × R P + R = 2 × T P 样 例 总 数 + T P − T N F1=\frac{2 \times P \times R }{P+R}=\frac{2\times TP}{样例总数+TP-TN} F1=P+R2×P×R=样例总数+TP−TN2×TP
一般形式 F β F_{\beta} Fβ:
定义:P与R的加权调和平均数 1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_{\beta}}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) Fβ1=1+β21(P1+Rβ2)
F β = ( 1 + β 2 ) × P × R β 2 × P + R F_{\beta}=\frac{(1+\beta^2)\times P \times R }{\beta^2\times P+R} Fβ=β2×P+R(1+β2)×P×R
β = 1 \beta=1 β=1时退化为F1
F β F_{\beta} Fβ能表达出对查准率/查全率的不同偏好
显然, β \beta β>1时查全率影响更大;反之亦然
在n个二分类混淆矩阵上综合考察P和R
应用情景:同个数据集多次训练、多个数据集、多分类任务(每两两类别的组合对应一个混淆矩阵)
法1:
宏查准率与宏查全率(macro-P macro-R):
各混淆矩阵的$P_i $ , R i R_i Ri求均值
宏F1:
m a c r o − F 1 = 2 × m a c r o − P × m a c r o − R m a c r o − P + m a c r o − R macro-F1=\frac{2 \times macro-P \ \times macro-R }{macro-P+macro-R} macro−F1=macro−P+macro−R2×macro−P ×macro−R法2:
先将各混淆矩阵对应元素求平均,得到TP、TN、FP、FN的平均值;
再基于这些均值计算P、R(称为:
微(micro)查准率 微查全率 微F1
)m i c r o − F 1 = 2 × m i c r o − P × m i c r o − R m i c r o − P + m i c r o − R micro-F1=\frac{2 \times micro-P \ \times micro-R }{micro-P+micro-R} micro−F1=micro−P+micro−R2×micro−P ×micro−R
ROC与AUC
ROC(受试者工作特征)曲线:
与P-R曲线类似,按学习器预测的样例为正的可能性对样本排序;按此顺序逐个将样本作为正例进行预测,每次均计算出当前的查全率、查准率。
将“真正例率”(TP rate=TPR)作为纵轴,“假正例率”(FPR)作为横轴
T P R = T P T P + F N = R TPR=\frac{TP}{TP+FN}=R TPR=TP+FNTP=R3
F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP4
即在所有预测为positive的样例中真实情况也为正的比例 ↩︎
即在所有真实为正的样例中预测结果也为正的比例 ↩︎
所有真实为正的样例中预测结果也为正的比例 ↩︎
所有真实为负的样例中预测结果为正的比例 ↩︎