Skip to Content

Introduction

2019-04-14·Machine Learning

机器学习

  • 机器学习要素
    • 模型
    • 学习准则
    • 优化算法
  • 数据集:D={x1,x2,⋯ ,xm}D=\{x_1,x_2,\cdots,x_m\}
    • 通常假设全体样本服从一个未知分布 D\mathcal{D},且采样 i.i.d
  • 归纳偏好
    • No Free Lunch Theorem
    • Occam's Razor
    • Ugly Duckling Theorem
  • all vectors are assumed to be column vectors
  • NN number of input, pp number of features
  • 训练集 XN×p\bf{X}_{N\times p}
    • ii-th row xiTx_i^T: length pp
    • jj-th column xj\bf{x}_j: length NN
    • input vector: Xp×1X_{p\times 1}
    • XT=(X1,X2,⋯ ,Xp)X^T=(X_1,X_2,\cdots,X_p), XiX_i is a scalar
  • yN×1\bf{y}_{N\times 1}
    • Y∈RY\in\mathbb{R}
    • YN×l\bf{Y}_{N\times l}, each row has one 1
  • (X1,X2)(X_1,X_2 ) : 行并列
  • (X1T;X2T)(X_1^T;X_2^T) : 列并列
  • 偏差-方差分解:E(f;D)=bias2(x)+var(x)+ϵ2=(f‾(x)−y)2+ED((f(x;D)−f‾(x))2)+ED((yD−y)2)E(f;D)=\text{bias}^2(x)+\text{var}(x)+\epsilon^2=(\overline{f}(x)-y)^2+E_D((f(x;D)-\overline{f}(x))^2)+E_D((y_D-y)^2)

评估方法

  • 留出法
  • cross validation
    • 将数据集分层采样划分为 kk 个大小相似的互斥子集,每次用 k−1k-1 个子集的并集作为训练集,余下的子集作为测试集,最终返回 kk 个测试结果的均值
    • kk 最常用的取值是 10.
    • LOO: k=1k=1
  • bootstrapping: 样本不被选到的概率=lim⁡m→∞(1−1m)m=1e=0.368=\lim_{m\rightarrow\infty}(1-\frac{1}{m})^m=\frac{1}{e}=0.368

模型评估指标

  • T,F\text{T},\text{F}: 分类正确与否
  • P,N\text{P},\text{N}: 预测结果

Regression

  • 均方误差: E(f;D)=1m∑i=1m(f(xi)−yi)2E(f;D)=\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2

Classification

指标
accuracyTP+TNm\frac{\text{TP}+\text{TN}}{m}
precisionTPTP+FP\frac{\text{TP}}{\text{TP}+\text{FP}}
recallTPTP+FN\frac{\text{TP}}{\text{TP}+\text{FN}}
macro-P\text{P}1n∑i=1nPi\frac{1}{n}\sum_{i=1}^n\text{P}_i
macro-R\text{R}1n∑i=1nRi\frac{1}{n}\sum_{i=1}^n\text{R}_i
micro-P\text{P}TP‾TP‾+FP‾\frac{\overline{\text{TP}}}{\overline{\text{TP}}+\overline{\text{FP}}}
micro-R\text{R}TP‾TP‾+FN‾\frac{\overline{\text{TP}}}{\overline{\text{TP}}+\overline{\text{FN}}}
平衡点(BEP)P-R 曲线上 P=RP=R 的点
F1\text{F1}2PRP+R\frac{2\text{P}\text{R}}{\text{P}+\text{R}},调和平均更重视较小值
Fβ\text{F}_\beta1Fβ=11+β2(1P+β2R)\frac{1}{\text{F}_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}),β>1,R\beta>1,R counts more
TPR\text{TPR}R\text{R}
FPR\text{FPR}FPTN+FP\frac{\text{FP}}{\text{TN}+\text{FP}}
ROCTPR-FPR 图(Receiver Operating Characteristic)
AUC(Area Under Curve)12∑i=1m−1(xi+1−xi)(yi+yi+1)\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)(y_i+y_{i+1})
FPR\text{FPR}1−TPR1-\text{TPR}
cost curve横轴为正例概率代价,纵轴归一化代价
Ranking Lossl=1−AUC\mathcal{l}=1-\text{AUC}

Ranking

  • One query r→r\rightarrow One permutation π\pi
  • One query r→r\rightarrow retrieved documents R(r)R(r)
  • precision: precision=P=∣C(r)∩R(r)∣∣R(r)∣\text{precision}=P=\frac{|C(r)\cap R(r)|}{|R(r)|}
    • precision@k\text{precision}@k
      • ∣R(r)∣=k|R(r)|=k
      • ∑t≤kl(π(t))k\frac{\sum_{t\leq k}l(\pi(t))}{k}
  • recall: recall=∣C(r)∩R(r)∣∣R(r)∣\text{recall}=\frac{|C(r)\cap R(r)|}{|R(r)|}
    • recall@k,∣R(r)∣=k\text{recall}@k, |R(r)|=k
  • AP(AveP, Average precision): AP=∑k=1∣C(r)∣P@k∣R(r)∣\text{AP}=\frac{\sum_{k=1}^{|C(r)|}P@k}{|R(r)|}
  • mAP(Mean average precision): MAP=∑q=1QAP(q)Q\text{MAP}=\frac{\sum_{q=1}^Q\text{AP}(q)}{Q}
  • CG(Cumulative Gain): CG@k=∑i=1krel(i)\text{CG}@k=\sum_{i=1}^k \text{rel}(i)
  • DCG(Discounted cumulative gain): DCG@k=∑i=1krel(i)η(i)\text{DCG}@k=\sum_{i=1}^k\text{rel}(i)\eta(i)
    • 折扣因子 η(i)\eta(i): 1log⁡(i+1)\frac{1}{\log(i+1)}
  • IDCG(Ideal DCG): IDCG@k=max⁡πDCG@k(π)\text{IDCG}@k=\max_{\pi}\text{DCG}@k(\pi)
  • nDCG(Normalized DCG): IDCG@k=DCGpIDCGp\text{IDCG}@k=\frac{\text{DCG}_p}{\text{IDCG}_p}
  • RR(reciprocal rank): ranki\text{rank}_i 第一个正确答案的排名
  • MRR(Mean reciprocal rank): MRR=1∣Q∣∑i=1∣Q∣1ranki\text{MRR}=\frac{1}{|Q|}\sum_{i=1}^{|Q|}\frac{1}{\text{rank}_i}
  • Cascade Models: 用户在位置 kk 需求满足的概率 PP(k)=∏i=1k−1(1−R(i))R(k)\text{PP}(k)=\prod_{i=1}^{k-1}(1-R(i))R(k)
    • 该文档满足需求的概率:R(t)=2rel(t)−12lmax⁡R(t)=\frac{2^{\text{rel(t)}}-1}{2^{l_{\max}}}
  • ERR(Expected reciprocal rank): 用户需求满足时停止位置的倒数的期望 ERR=∑r=1n1rPPr\text{ERR}=\sum_{r=1}^n\frac{1}{r}\text{PP}_r

多分类

  • OvO: 储存开销与测试时间偏大
  • OvR: 训练时间偏大
  • MvM:
    • Error Correcting Output Codes(ECOC)
      • 编码:二元码,三元码
      • 解码:将距离最小的编码所对应的类别作为预测结果
  • argmax: y=arg⁡max⁡c=1Cfc(x;ωc)y=\arg\max_{c=1}^Cf_c(x;\omega_c)

类别不平衡

  • 欠采样
  • 过采样
  • 阈值移动:y1−y>m+m−\frac{y}{1-y}>\frac{m^+}{m^-}

假设检验

  • 二项检验
    • 二项分布:P(ϵ^;ϵ)=(mϵ^m)ϵϵ^m(1−ϵ)m−ϵ^mP(\hat \epsilon;\epsilon)=\binom{m}{\hat\epsilon m}\epsilon^{\hat \epsilon m}(1-\epsilon)^{m-\hat \epsilon m}
    • 假设:ϵ≤ϵ0\epsilon\leq\epsilon_0
    • 临界值 ϵ‾=max⁡ϵ\overline{\epsilon}=\max\epsilon s.t. ∑i=ϵ0m+1m(mi)ϵi(1−ϵ)m−i\sum_{i=\epsilon_0 m+1}^m\binom{m}{i}\epsilon^i(1-\epsilon)^{m-i}
  • t 检验
    • 检验值:τt=k(μ−ϵ0)σ\tau_t=\frac{\sqrt{k}(\mu-\epsilon_0)}{\sigma}
  • 交叉验证 tt 检验
    • 差值:Δi=ϵiA−ϵiB\Delta_i=\epsilon_i^A-\epsilon_i^B
    • τt=∣kμσ∣\tau_t=|\frac{\sqrt{k}\mu}{\sigma}|
    • 假设检验前提:测试错误率为泛化错误率独立采样
      • 5×25\times 2 交叉验证
  • McNemar 检验
    • eije_{ij}: ii 指示算法 AA 预测正确与否,jj 指示算法 BB 预测正确与否
    • 假设:e01=e10e_{01}=e_{10}
    • ∣e01−e10∣∼N(1,e01+e10)|e_{01}-e_{10}|\sim N(1,e_{01}+e_{10})
    • 统计检验量:τ=(∣e01−e10∣−1)2e01+e10∼χ2(1)\tau=\frac{(|e_{01}-e_{10}|-1)^2}{e_{01}+e_{10}}\sim \chi^2(1)
  • Friedman 检验:多个数据集对多个算法比较
    • 根据测试性能赋予序值,求得平均序值
    • 假设:算法性能全部相同
    • τχ2=12Nk(k+1)(∑i=1kri2−k(k+1)24)\tau_\chi^2=\frac{12N}{k(k+1)}(\sum_{i=1}^kr_i^2-\frac{k(k+1)^2}{4}),当 k,Nk,N 较大时,服从 χ2(k−1)\chi^2(k-1)
    • τF=(N−1)τχ2N(k−1)−τχ2∼F(k−1,(k−1)(N−1))\tau_F=\frac{(N-1)\tau_{\chi^2}}{N(k-1)-\tau_{\chi^2}}\sim F(k-1,(k-1)(N-1))
  • Nemenyi 检验:算法性能全部相同假设被拒绝后进一步区分各算法
    • CD=qαk(k+1)6N,qα\text{CD}=q_\alpha\sqrt{\frac{k(k+1)}{6N}},q_\alpha 为 Tukey 分布临界值
    • 若两个算法平均序值之差超出临界值域 CD\text{CD},则以相应置信度拒绝两个算法性能相同