小言_互联网的博客

机器学习算法原理归纳总结:回归、聚类、支持向量、推荐、降维与神经网络

255人阅读  评论(0)

机器学习算法原理归纳总结:回归、聚类、支持向量、推荐、降维与神经网络

本文重点参考:唐宇迪博士的课程PPT [特别鸣谢]
完整版资料下载:机器学习算法原理详解+代码实战

1.回归算法

2.逻辑回归

3.决策树

  • 决策树实际上是根据样本的特征个数对样本进行一步一步的细分,每个节点都将把样本按照一个衡量标准进行筛选,直到所有的样本筛选完成为止,而先筛选出来的样本将被作为前边的节点,后被筛选出的节点顺序也将往后排序

  • 决策树的衡量标准为信息熵:

  • 决策树过拟合风险很大

4.集成算法

Bagging模型,全称bootstrap aggregation,其实质为并行训练一堆分类器

  • 典型代表:随机森林(随机:数据采样随机,特征选择随机;森林:很多个决策树并行放在一起)

4.1 随机森林

  • 构造树模型

  • 集成:之所以要进行随机,是要保证泛化能力,如果树都一样,那就没意义了

  • 优势:

    • 它能够处理很高维度(feature很多)的数据,并且不用做特征选择
    • 在训练完后,它能够给出哪些feature比较重要
    • 容易做成并行化方法,速度比较快
    • 可以进行可视化展示,便于分析

4.2 Boosting模型

  • 典型代表:AdaBoost, Xgboost

  • Adaboost会根据前一次的分类效果调整数据权重

  • Stacking可以堆叠各种各样的分类器(KNN,SVM,RF等等),分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练

5.聚类算法

5.1 K-MEANS

5.2 DBSCAN

  • 全称:Density-Based Spatial Clustering of Applications with Noise


6.贝叶斯算法

  • 主要解决的问题:

    • 正向概率:假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大
    • 逆向概率:如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测
  • 贝叶斯公式:

7.支持向量机

8.LDA与PCA算法

8.1 线性判别分析(LDA)

  • 全称:Linear Discriminant Analysis
  • 用途:用于数据预处理中的降维、分类任务
  • 目标:LDA关心的是能够最大化类间区分度的坐标轴成分,将特征空间(数据集中的多维样本)投影到一个维度更小的K维子空间中,同时保持区分类别的信息
  • 原理:投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近方法

8.2 主成分分析(PCA)

  • 用途:降维中最常用的手段
  • 目标:提取最有价值的信息(基于方差)


9.EM算法

  • 全称:Expectation-Maximization,期望最大化

    • 最大似然
    • EM算法推导
    • GMM(高斯混合模型)

9.1 最大似然估计

  • 一个栗子:假如你去赌场,但是不知道能不能赚钱,你就在门口堵着出来一个人就问一个赚了还是赔了,如果问了5个人都说赚了,那么你就会认为,赚钱的概率肯定是非常大的
  • 已知:(1)样本服从分布的模型, (2)观测到的样本
    求解:模型的参数
  • 总的来说:极大似然估计就是用来估计模型参数的统计学方法。

9.2 EM算法

  • 算法原理推导:

  • EM算法流程

    • 初始化分布参数 θ \theta θ
    • E-Step:根据参数 θ \theta θ 计算每个样本属于 zi 的概率(也就是我们的Q)
    • M-Step:根据Q,求出含有 θ \theta θ 的似然函数的下届并最大化它,得到新的参数 θ \theta θ
    • 不断的迭代更新下去

9.3 GMM(高斯混合模型)

  • 数据可以看作是从数个 Gaussian Distribution 中生成出来的
  • GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为一个“Component”
  • 类似k-means方法,求解方式跟EM一样
  • 不断的迭代更新下去

10. 神经网络

  • 常规方法:

  • 实现流程:

    • 1.预处理你的数据:对你数据中的特征进行归一化(normalize),让其具有零平均值(zero mean)和单位方差(unit variance)。
    • 2.如果数据是高维数据,考虑使用降维方法,比如PCA
    • 3.将数据随机分入训练集和验证集。按照一般规律,70%-90% 数据作为训练集
    • 4.在验证集上调优,尝试足够多的k值,尝试L1和L2两种范数计算方式。
  • 关于损失函数:

  • 神经网络,详解-> https://blog.csdn.net/yohnyang/article/details/124516301


  • 模型组成结构:

  • 举例:



转载:https://blog.csdn.net/yohnyang/article/details/128316144
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场