秋招材料整理——机器学习(比较杂)

一、非平衡数据

  • 分类器偏向于多数类:
    • 目标是最小化整体错误率,少数类起到的作用很小
    • 假设代价是相同的
  • 数据层面解决非平衡数据:
    • 正负样本都非常少时,用数据合成:SMOTE利用已有样本生成更多样本
    • 负样本很多,正样本很少且比例悬殊时,考虑一分类:为其中一类建模,看做异常检测
    • 正负样本都足够多且比例不是特别悬殊时,考虑采样或者加权:
      • 加权:不同类别分错的代价不同,难于设置合理权重
      • 重采样:
        • 上/过采样:复制少数类,增加训练时间,易过拟合,复制时可以加入轻微随机扰动
          • 基于聚类的重采样:解决类间不平衡问题的同时还能解决类内部不平衡问题
            • 先分别对正负例进行k-means聚类
            • 聚类后上采样,将每一个簇的数量都提高到最大簇的数量
        • 下/欠采样:剔除多数类,丢失信息,模型只学到了一部分,改进:
          • EasyEnsemble:有放回下采样(保证相互独立)训练多个分类器,投票
          • BalanceCascade:增量训练(Boosting),下采样训练->分类错的正样本放回->下采样训练->…->投票

二、特征工程方法

  • 过滤式:先用特征选择过程对初始特征进行“过滤”,再用过滤后的特征训练模型
  • 包裹式:直接把最终要使用的学习器性能作为特征子集的评价标准
  • 嵌入式:将特征选择与学习器训练融为一体,两者在同一个优化过程中完成(即训练时自动选择特征)
    • LASSO最小绝对收缩选择算子:最小二乘+L1
    • 岭回归:最小二乘+L2

三、树模型 vs. 逻辑回归 vs. 神经网络

  • 树模型:
    • 优点:①会自动过滤无用特征
      ②建树成功之后预测非常快
    • 缺点:①处理缺失数据困难
      ②容易过拟合
      ③会忽略属性之间的相关性
  • 逻辑回归:
    • 优点:①形式简单,可解释性好。从特征的权重可以看到不同的特征对最后结果的影响
      ②训练速度较快,资源占用小,计算量仅与特征数目相关
      ③方便输出结果调整,容易进行阈值划分
    • 缺点:①准确率不是很高。因为形式非常的简单,很难去拟合数据的真实分布。
      ②很难处理数据不平衡的问题。
      ③处理非二分类问题较麻烦。
  • 神经网络:
    • 优点:有很强的非线性拟合能力,强大的自学能力
    • 缺点:把一切推理都变成数值计算,没能力解释推理过程和依据
  • 相同点:都是解决分类问题的高手
  • 区别:①LR擅长对数据整体结构的分析,而树擅长对局部结构的分析
    ②逻辑回归擅长线性关系分析,而树擅长非线性关系分析,高维数据要用神经网络

四、损失函数

  • 平方损失函数:回归: ( y f ( x ) ) 2 (y-f(x))^{2}
  • 对数(似然)损失函数:分类: l o g P ( y x ) -logP(y|x)
  • 0-1损失函数:相等为0,不等为1
  • 绝对值损失函数: y f ( x ) | y-f(x) |
  • Hinge Loss:
    l o s s = m a x ( 0 , 1 y t ) loss= max(0, 1-y*t) ,类别y=±1,t 为预测分数
    主要用于SVM 软间隔 max w , b 1 2 w 2 + C i = 1 m m a x ( 0 , 1 y i ( w T x i + b ) ) \max \limits_{w,b}\frac{1}{2}||w||^2 + C \sum_{i=1}^mmax(0, 1- y_i(w^Tx_i + b))
  • 交叉熵损失(Cross Entropy、Softmax):用于Logistic 回归与Softmax 分类
    L i = l o g ( e f y i j e f j ) L_i = -log(\frac{e^{f_{y_i}}}{\sum_j{e^{f_j}}}) (分母相当于标准化)

五、核函数

  • 线性核: k ( x , y ) = x T y + c k(x,y)=x^T y+c
  • 多项式核: k ( x , y ) = ( a x T y + c ) d k(x,y)=(ax^Ty+c)^d
  • 高斯核(RBF)(径向基): k ( x , y ) = e x p ( x y 2 2 σ 2 ) k(x,y)=exp⁡(-\frac{||x-y||^2}{2σ^2}) k ( x , y ) = e x p ( γ x y 2 ) k(x,y)=exp⁡(-γ||x-y||^2)
  • 拉普拉斯核: k ( x , y ) = e x p ( x y σ ) k(x,y)=exp⁡(-\frac{||x-y||}{σ})
  • Sigmoid核: k ( x , y ) = t a n h ( α x T y + c ) k(x,y)=tanh⁡(αx^T y+c)

六、线性分类器 vs. 非线性分类器

  • 线性分类器:如果模型是参数的线性函数,且存在线性分类面,那么就是线性分类器,否则不是。
  • 线性分类器有:LR、贝叶斯分类、单层感知机、线性回归
  • 非线性分类器:决策树、RF、GBDT、多层感知机SVM两种都有(看线性核还是高斯核)
  • 区别:线性分类器速度快、编程方便,但是可能拟合效果不是很好
    非线性分类器编程复杂,但是拟合能力强,效果好

七、聚类和分类模型

Linear回归 KNN Decision树、bagging、boosting LR Bayes SVM SVR Kmeans、层次、密度、GMM(高斯混合模型)
分类
回归
聚类

八、特征向量的缺失值处理

  • 缺失值较多.直接舍弃掉,否则可能会带入较大的noise
  • 缺失值较少:
    • 把NaN直接作为一个特征,假设用0表示;
    • 用均值填充;
    • 用随机森林等算法预测填充

九、结构风险,经验风险,期望风险

  • 经验风险:局部的概念,基于训练集所有样本点损失函数最小化的,越小,拟合程度越好
  • 期望风险:全局的概念,基于所有样本点的损失函数最小化的
  • 结构风险 = 经验风险+正则项,是对经验风险和期望风险的折中,实际最小化结构风险,防止过拟合

十、ROC_AUC

  • ROC:横轴—假正例率(FPR=FP/(FP+TN)),纵轴—真正例率(TPR=TP/(TP+FN))
    阈值变化时,FPR和TPR的变化情况,(0,0)为均判为反例,(1,1)为均判为正例
  • AUC:ROC与x轴形成的面积,一般,面积大的更好
  • 高正确率与高召回率很难同时成立
发布了44 篇原创文章 · 获赞 82 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/wenyun_kang/article/details/83447156