机器学习实战总结

参考文章

  1. 学习路线

零.算法概念

  1. 监督学习:需要用已知结果的数据做训练
  2. 无监督学习:不需要已知标签
  3. 连续型数据和离散型数据

1.算法分类

1. 监督学习的用途

分类

  • k-邻近算法
  • 朴素贝叶斯算法
  • 支持向量机
  • 决策树

回归

  • 线性回归
  • 逻辑回归
  • 局部加权线性回归
  • Ridge回归
  • Lasso 最小回归系数估计

2. 无监督学习的用途

  • 聚类和降维
  • K-均值
  • DBSCAN
  • 最大期望算法
  • Parzcn窗设计

3. 特殊算法

  • 推荐算法

4. 一些小方法(子算法)

  • 梯度下降法:主要运用在线性回归,逻辑回归,神经网络,推荐算法中
  • 牛顿法:主要运用在线性回归
  • BP算法:主要运用在神经网络
  • SMO算法:主要运用在SVM中

2.如何选择合适的算法

必须要考虑下面两个问题

    1. 使用算法的目的,想要算法完成何种任务
    1. 需要分析或收集的数据是什么 #### 基于目的考虑
  • 想要预测目标的值,则选择监督学习算法,然后进一步确认目标变量的类型
    • 离散型变量: 选择分类算法
    • 连续型变量: 选择回归算法
  • 否则选择无监督学习算法,随后进一步分析是否需要将数据分离为离散的组
    • 不需要: 聚类算法
    • 需要: 密度估计算法

基于数据考虑

  • 特征值的类型
  • 特征值是否缺失
  • 数据是否存在异常值
  • 特征发生的频率是否罕见

天下没有免费的午餐

  • 没有哪个算法能在所有问题中都表现得最优秀,因此我们只能在一定程度上缩小算法的选择范围,尝试不同算法的执行效率,不断试错,优化算法。

3.基本算法优缺点

算法 优点 缺点 数据类型 优化方法 应用领域
K-邻近算法 精度高、对异常值不敏感、无数据输入假定 计算复杂度高、空间复杂度高,占用存储空间 数值型和标称型 文本分类、模式识别、聚类分析,多分类领域
决策树算法 1.能实现对未知数据进行高效分类 2.有较好的可读性和描述性,利于辅助人工分析 3.分类效率高,一次构建后可反复使用 1.难以处理连续的特征 2. 容易发生过拟合(随机森林可以很大程度上减少过拟合) 3.对于多分类问题,计算量和准确率都不理想 数值型和标称型 1、对决策树进行剪枝 2、使用基于决策树的combination算法来解决过拟合的问题 企业管理实践,企业投资决策,由于决策树很好的分析能力,在决策过程应用较多。
朴素贝叶斯 1.朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。 2.对小规模的数据表现很好,能个处理多分类任务,适合增量式训练; 3.对缺失数据不太敏感,算法也比较简单,常用于文本分类。 1.需要计算先验概率 2.分类决策存在错误率 3.对输入数据的表达形式很敏感 标称型数据 文本分类、欺诈检测中使用较多
人工神经网络 1、分类准确度高,学习能力极强。 2、对噪声数据鲁棒性和容错性较强。 3、有联想能力,能逼近任意非线性关系。 1、神经网络参数较多,权值和阈值 2、黑盒过程,不能观察中间结果 3、学习过程比较长,有可能陷入局部极小值。 应用与计算机视觉,自然语言处理,语音识别等领域并取得很好的效果

3.适用框架

Input(x) Output (y) Application 框架
Home features Price Real Estate standard NN
Ad,usr info click on ad?(0/1) Online Advertising standard NN
Image Object(1,...,1000)(给照片打标签 Photo tagging CNN
Audio Text transcript(输出文本) Speech recognition RNN
English Chinese Machine translation RNNs
Image,Radar info Position of other cars Autonomous driving custom Hybrid