从零开始:机器学习的数学原理和算法实践--学习笔记(2)

数据准备阶段

  1. 数据采集
  2. 数据清洗:去除不合理的值、缺失值处理
  3. 不均衡样本处理: 上采样、下采样
  4. 数据类型转化: one-hot编码
  5. 数据标准化: max-min标准化、z-score标准化(将数据转化为均值为0,方差为1的正态分布)

特征工程

  1. 特征构建
  2. 特征提取
  3. 特征选择:从原来的特征集合中剔除部分对预测结果无效甚至会产生负面影响的特征,从而提高预测模型的性能;
    降维:对原来的特征集合中的某些特征做计算组合,从而构建新的特征。
    特征选择的方法
    • 过滤法:评估某个特征与预测结果之间的相关度,并对相关度进行排序,保留排序靠前的特征维度;用pearson相关系数、距离相关度等指标进行相关度度量;忽略了特征之间的关联关系,可能存在误删的风险
    • 包装法:最常用的是REF(递归消除特征法),首先使用全量特征进行算法模型构建,得到基础模型;然后根据线性模型系数,删除部分弱特征后观察模型预测能力的变化情况,当模型预测能力大幅度下降后停止删除弱特征
    • 嵌入法:主要利用正则化方法来做特征选择,从而剔除弱特征

算法选择

算法工程师需要根据具体问题类型选择合适的算法进行机器学习
单一算法模型: 线性回归, logistic回归, 决策树, SVM, …
集成学习模型

  1. Boosting
    Boosting算法思想是,首先从初始训练集中训练一个基学习器,基学习器对不同的样本数据有着不同的预测结果,有些样本基学习器能够很好的预测,有些则不能;对于预测错误的样本,增加其权重后,再次训练下一个基学习器;如此反复进行,直到基学习器数目达到事先指定的数值T,然后将T个基学习器进行加权求和。典型的算法是AdaBoost
  2. Bagging和随机森林
    Bagging:从原始数据集中抽取训练集,每次随机抽取n个训练样本,抽取T次得到T个训练集;每次使用一个训练集得到一个模型,T个训练集共得到T个模型;对上述T个学习器采用某种策略进行结合;一般来说对分类问题采取简单投票法,对回归问题采用简单平均法
    随机森林:bagging的变体,使用分类与回归树作为弱学习器,并对决策树的建立做了改进,通过随机选择节点上的一部分样本特征进一步增强了模型的泛化能力,随机主要体现在:数据的随机选择、待选特征的随机选择。
    • 数据的随机选择:有放回抽样构造子数据集,并且子数据集的数据量与原始数据集相同
    • 待选特征的随机选择:从所有待选特征中随机选取一定的特征,再在这些随机选取的特征中选取最优特征;这样能使随机森林中的决策树互相不同,通过提升系统多样性从而提升分类性能.

模型欠拟合和过拟合

  1. 欠拟合: 模型学习能力弱,学不到训练样本的一般规律
  2. 过拟合: 模型学习能力过强, 学到了部分噪声的规律
    如何解决: 增加数据量, 减小噪声比例, 加入正则化惩罚项, 调整超参数是解决过拟合的重要方式

算法调参

网格搜索: Grid search, 穷举所有超参数的组合,找到一个性能最好的超参数组合,进而确定一个性能最好的算法模型, 缺点计算资源开销大

性能评估

  1. 回归预测性能度量
    • 平均绝对误差(Mean Absolute Error, MAE)
      E ( f ; D ) = 1 m ∑ 1 m ∣ f ( x i ) − y i ∣ E(f;D) = \frac{1}{m} \sum\limits_{1}^{m}|f(x_i)-y_i| E(f;D)=m11mf(xi)yi
    • 均方误差(Mean Square Error, MSE)
      E ( f ; D ) = 1 m ∑ 1 m ( f ( x i ) − y i ) 2 E(f;D) = \frac{1}{m} \sum\limits_{1}^{m}(f(x_i)-y_i)^2 E(f;D)=m11m(f(xi)yi)2
  2. 分类预测性能度量
    • 错误率与精度

      • 错误率: E ( f ; D ) = 1 m ∑ 1 m ∏ ( f ( x i ) ≠ y i ) E(f;D) = \frac{1}{m} \sum\limits_{1}^{m}\prod(f(x_i)\neq y_i) E(f;D)=m11m(f(xi)=yi)
      • 精度: a c c ( f ; D ) = 1 m ∑ 1 m ∏ ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D) = \frac{1}{m} \sum\limits_{1}^{m}\prod(f(x_i) = y_i) = 1 - E(f;D) acc(f;D)=m11m(f(xi)=yi)=1E(f;D)
    • 查全率与查准率

      真实情况 预测情况 预测情况
      阳(Positive) 阴(Negative)
      阳(True) TP TN
      阴(False) FP FN
      • 查准率: P = T P T P + F P P = \frac{TP}{TP + FP} P=TP+FPTP
      • 查全率: R = T P T P + F N R =\frac{TP}{TP + FN} R=TP+FNTP
      • F1: F 1 = 2 × P × R P + R 1 F 1 = 1 2 ( 1 p + 1 R ) F1 = \frac{2 \times P \times R}{ P +R } \frac{1}{F1} = \frac{1}{2}(\frac{1}{p} + \frac{1}{R}) F1=P+R2×P×RF11=21(p1+R1)

你可能感兴趣的:(算法,学习)