Skip to Content
Machine Learning

Introduction

2019-04-14Original-language archivelegacy assets may be incomplete

机器学习

  • 机器学习要素
    • 模型
    • 学习准则
    • 优化算法
  • 数据集: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}
    • YRY\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((yDy)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 个大小相似的互斥子集,每次用 k1k-1 个子集的并集作为训练集,余下的子集作为测试集,最终返回 kk 个测试结果的均值
    • kk 最常用的取值是 10.
    • LOO: k=1k=1
  • bootstrapping: 样本不被选到的概率=limm(11m)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)=1mi=1m(f(xi)yi)2E(f;D)=\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2

Classification

指标
accuracy TP+TNm\frac{\text{TP}+\text{TN}}{m}
precision TPTP+FP\frac{\text{TP}}{\text{TP}+\text{FP}}
recall TPTP+FN\frac{\text{TP}}{\text{TP}+\text{FN}}
macro-P\text{P} 1ni=1nPi\frac{1}{n}\sum_{i=1}^n\text{P}_i
macro-R\text{R} 1ni=1nRi\frac{1}{n}\sum_{i=1}^n\text{R}_i
micro-P\text{P} TPTP+FP\frac{\overline{\text{TP}}}{\overline{\text{TP}}+\overline{\text{FP}}}
micro-R\text{R} TPTP+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}_\beta 1Fβ=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}}
ROC TPR-FPR 图(Receiver Operating Characteristic)
AUC (Area Under Curve)12i=1m1(xi+1xi)(yi+yi+1)\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)(y_i+y_{i+1})
FPR\text{FPR} 1TPR1-\text{TPR}
cost curve 横轴为正例概率代价,纵轴归一化代价
Ranking Loss l=1AUC\mathcal{l}=1-\text{AUC}

Ranking

  • One query rr\rightarrow One permutation π\pi
  • One query rr\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
      • tkl(π(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=1C(r)P@kR(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=1Qi=1Q1ranki\text{MRR}=\frac{1}{|Q|}\sum_{i=1}^{|Q|}\frac{1}{\text{rank}_i}
  • Cascade Models: 用户在位置 kk 需求满足的概率 PP(k)=i=1k1(1R(i))R(k)\text{PP}(k)=\prod_{i=1}^{k-1}(1-R(i))R(k)
    • 该文档满足需求的概率:R(t)=2rel(t)12lmaxR(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=argmaxc=1Cfc(x;ωc)y=\arg\max_{c=1}^Cf_c(x;\omega_c)

类别不平衡

  • 欠采样
  • 过采样
  • 阈值移动:y1y>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ϵ)mi\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}
    • e01e10N(1,e01+e10)|e_{01}-e_{10}|\sim N(1,e_{01}+e_{10})
    • 统计检验量:τ=(e01e101)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=1kri2k(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(k1)\chi^2(k-1)
    • τF=(N1)τχ2N(k1)τχ2F(k1,(k1)(N1))\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},则以相应置信度拒绝两个算法性能相同