机器学习(一)基础常用损失函数、评价指标、距离、指标

机器学习(一)

1.基础

1.1 数据集划分方式

  • 留出法
    • 按正负例比例划分数据集,多次训练模型取平均
  • 交叉验证
    • k折交叉验证形成k个数据集,每次取其中的 1k 1 k 作为验证集
  • Bootstrapping

    • 每次从样本容量为D的集合重复的取元素D次,形成新的样本容量为D数据集
    • 某一样样本始终不出现的概率为 (11D)D ( 1 − 1 D ) D ,取极限后, limD(11D)D1e lim D → ∞ ( 1 − 1 D ) D ≈ 1 e ,约为0.368
  • 比较

    • 自助法适合于数据集小,难以有效划分的训练集测试集使用,此外划分不同的训练集测试集适合集成学习。
    • 自助法改变了数据的初始分布,引入估计偏差,数据量足够交叉验证更多使用。
    • 交叉验证可以降低模型的方差,更加稳定

1.2 常用损失函数

  • L2损失

    loss=1ni=1n(y^iyi)2(1) (1) l o s s = 1 n ∑ i = 1 n ( y ^ i − y i ) 2

  • L1损失

    loss=1ni=1n|y^iyi|(2) (2) l o s s = 1 n ∑ i = 1 n | y ^ i − y i |

    L1 不可导,可采用坐标轴下降的方式进行计算

    • 延着坐标轴的方向进行参数的更新,不依赖于梯度
    • 每次更新固定m-1个参数,只对一个参数进行优化,求局部极小值点
    • 对于可微凸函数,如果参数的一个解在对于函数在某个坐标轴上能达到最小值,那么这个参数就是f的全局最小点
    • 坐标轴下降法在每次迭代中在当前点处沿一个坐标方向进行一维搜索 ,固定其他的坐标方向,找到一个函数的局部极小值。而梯度下降总是沿着梯度的负方向求函数的局部最小值
  • 交叉熵损失 nn

    loss=1ni=1nj=1kyijlogy^ij(3) (3) l o s s = − 1 n ∑ i = 1 n ∑ j = 1 k y i j l o g y ^ i j

  • 指数损失 Adaboost

    loss=1ni=1neyiy^i(4) (4) l o s s = 1 n ∑ i = 1 n e − y i y ^ i

  • Hinge loss svm

    loss=1ni=1nCmax(0,1yy^)+Ω(y^)(5) (5) l o s s = 1 n ∑ i = 1 n C m a x ( 0 , 1 − y y ^ ) + Ω ( y ^ )

    经验风险 + 结构风险

1.3 常用性能度量

  • 准确率
    Accuracy=TP+TNN(6) (6) A c c u r a c y = T P + T N N

    • 准确率在类别极度不平衡问题上,作为评级指标不是十分合适。例如,1000个样本中,990个正例,10个负例,分类器预测准确率为90%,而全将样本作为正例都有99%的准确率。
  • 查准率
    Precision=TPTP+FP(7) (7) P r e c i s i o n = T P T P + F P

    • 查准率可以理解为,分类器判断的正例中有多少是正确的。
  • 查全率
    Recall=TPTP+FN(8) (8) R e c a l l = T P T P + F N

    • 查全率可以理解为,分类器找出了多少的正例。
  • F1值
    F1=2PRP+R(9) (9) F 1 = 2 P R P + R

    • P, R成反向趋势,P增加R减少,F1综合考虑了P、R
  • P(纵轴)-R(横轴) 曲线
    • 以学习器的预测结果对样例进行排序,排在前面的认为是正例,排在后面的认为是负例,则可以计算当前的P-R值。
    • 曲线底下面积越大一般来说性能越好。
  • Precision@k RecSys
    Precision@k=ni=1rec(ui,k)I(ui)nk(10) (10) P r e c i s i o n @ k = ∑ i = 1 n r e c ( u i , k ) ∩ I ( u i ) n ∗ k
  • Recall@k RecSys
    Recall@k=ni=1rec(ui,k)I(ui)ni=1|I(ui)|(11) (11) R e c a l l @ k = ∑ i = 1 n r e c ( u i , k ) ∩ I ( u i ) ∑ i = 1 n | I ( u i ) |
  • ROC 曲线
    TPR=TPTP+FN(12) (12) T P R = T P T P + F N

    FPR=FPTN+FP(13) (13) F P R = F P T N + F P

    • ROC 曲线泛化性能的好坏,纵轴为真正率,横轴为假正率,逐个将样本作为正例,得到ROC曲线
  • AUC
    • AUC为ROC曲线底下面积
    • 分类器在二分类时预测概率,需要设置阈值判断正负例。
    • 考虑的是样本预测排序质量,与排序损失紧密联系。
      Rank Loss=1m+mx+D+xD(I(f(x+)<f(x))+12(I(f(x+)=f(x)))(14) (14) R a n k   L o s s = 1 m + m − ∑ x + ∈ D + ∑ x − ∈ D − ( I ( f ( x + ) < f ( x − ) ) + 1 2 ( I ( f ( x + ) = f ( x − ) ) )

      AUC=1Rank Loss A U C = 1 − R a n k   L o s s
    • 排序质量的好坏综合体现了学习器期望泛化性能的好坏,重视查准率在排序靠前的位置截断,重视查全率在排序靠后的位置截断

1.4 常用距离、相似度

  • 闵可夫斯基距离
    dist(xi,xj)=(k=1n|xikxjk|p)1p(15) (15) d i s t ( x i , x j ) = ( ∑ k = 1 n | x i k − x j k | p ) 1 p

    • p=2,欧式距离
    • p=1,曼哈顿距离
  • 马氏距离
    dist(xi,xj)=(xixj)Ts1(xixj)(16) (16) d i s t ( x i , x j ) = ( x i − x j ) T s − 1 ( x i − x j )

    • 闵可夫斯基距离在使用之前需要标准化,而马氏距离不需要
    • 马氏距离 与量纲无关,排除了变量之间相关性的干扰
  • 余弦相似度
    sim(xi,xj)=xixj||xi||||xj||(17) (17) s i m ( x i , x j ) = x i ⋅ x j | | x i | | ⋅ | | x j | |
  • 皮尔逊相关系数
    sim(xi,xj)=(xiμi)(xjμj)||(xiμi)||||xjμj||(18) (18) s i m ( x i , x j ) = ( x i − μ i ) ⋅ ( x j − μ j ) | | ( x i − μ i ) | | ⋅ | | x j − μ j | |

    • 对余弦相似度去中心化
  • TF IDF
    TF(xi)=Nximk=1Nxk(19) (19) T F ( x i ) = N x i ∑ k = 1 m N x k

    IDF(xi)=log|D|1+|Dcontain_xi|(20) (20) I D F ( x i ) = l o g | D | 1 + | D c o n t a i n _ x i |

    TFIDF(xi)=TF(xi)IDF(xi)(21) (21) T F − I D F ( x i ) = T F ( x i ) ⋅ I D F ( x i )

1.5 信息论指标


  • H(x)=xp(x)logp(x)(22) (22) H ( x ) = − ∑ x p ( x ) l o g p ( x )

    • 熵可以看成是观察事件X发生后我们获得的期望信息量,H(x)越大,那么说明我们获得的信息量越大
  • 条件熵
    H(x|z)=xzp(x,z)logp(x|z)=xp(x)H(x|Z=z)(22) (22) H ( x | z ) = − ∑ x ∑ z p ( x , z ) l o g p ( x | z ) = ∑ x p ( x ) H ( x | Z = z )

    • 表明已知z对x带来的期望信息
  • 相对熵
    KL(p||q)=xp(x)logp(x)q(x)(23) (23) K L ( p | | q ) = ∑ x p ( x ) l o g p ( x ) q ( x )

    • KL散度衡量概率密度的距离 相对于原分布p,分布q损失的信息量。
  • 互信息、信息增益
    Gain(x,z)=H(x)H(x|z)(24) (24) G a i n ( x , z ) = H ( x ) − H ( x | z )

    • 已知特征z为识别x带来了多少的信息。
  • 信息增益
    GainRatio(x,z)=H(x)H(x|z)Hx(z)(25) (25) G a i n R a t i o ( x , z ) = H ( x ) − H ( x | z ) H x ( z )
  • Gini指数
    Gini(D)=1i=1cp2i(26) (26) G i n i ( D ) = 1 − ∑ i = 1 c p i 2

    Gini_Index(D,a)=i=1k|Dk||D|Gini(Dk)(27) (27) G i n i _ I n d e x ( D , a ) = ∑ i = 1 k | D k | | D | G i n i ( D k )

你可能感兴趣的:(机器学习)