机器学习算法总结

机器学习分类:

     监督学习    非监督学习

离散      分类      聚类

连续      回归      降维

 (一)有监督的机器学习

1.KNN(k-近邻算法)————分类

(1)三要素:距离度量、k值的选择、分类决策规则

(2)算法思想:给定测试实例,基于某种距离度量找出训练集中与其最靠近的k个实例点,然后基于这k个最近邻的信息来进行预测。

2.决策树 ————分类

(1)策略:自上而下

(2)算法思想:

    步骤1:将所有的数据看成是一个节点(根节点),进入步骤2;

    步骤2:根据信息增益(ID3)/信息增益率(C4.5)/基尼指数(CART),从所有属性中挑选一个对节点进行分割,进入步骤3;

    步骤3:生成若干个子节点,对每一个子节点进行判断,如果满足停止分裂的条件,进入步骤4;否则,进入步骤2;

    步骤4:设置该节点是叶子节点,其输出的结果为该节点数量占比最大的类别。

(3)在决策树基本算法中,有三种情形会导致递归返回:

    1) 当前结点包含的样本全属于同一类别,无需划分;

    2) 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;

    3) 当前结点包含的样本集合为空,不能划分。

3.朴素贝叶斯(NB)————分类

(1)思想:P(类别|特征)=P(特征|类别)*P(类别)/P(特征)

4. 逻辑回归(logistics regression)————分类(用回归的方法解决分类问题)

(1)思想:回归的方法解决分类问题

(2)函数:sigmod函数(该函数具有很强的鲁棒性,将函数的输入范围从(-∞,+∞),映射到了(0,1)而且具有概率意义)

    p(x)=1/(1+e-x)

5.支持向量机(SVM)————分类

(1)寻找最大间隔

(2)SMO高效优化算法

(3)核函数

https://cuijiahua.com/blog/2017/11/ml_8_svm_1.html

6.AdaBoost算法————分类

(1)算法思想:AdaBoost是Boosting方法中最优代表性的提升算法。该方法通过在每轮降低分对样例的权重,增加分错样例的权重,使得分类器在迭代过程中逐步改进,最终将所有分类器线性组合得到最终分类器。

(2)算法过程:

    1)给训练样本初始化一个相等的权重

    2)训练弱分类器,并计算分类器的错误率

    3)重新调整每个样本的权重,第一次分对的样本权重降低,分错的样本权重增加

    4)重复步骤(2)m次

    5)为每个分类器分配一个权重值alpha

    6)将所有的分类器输出的结果并加权求和,得到最终的输出结果。

(二)无监督的机器学习

1.K-means算法————聚类

(1)算法过程;

    1)随机在图中取K(这里K=2)个种子点。

    2)然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。

    3)我们要移动种子点到属于他的“点群”的中心。

    4)然后重复第2)和第3)步,直到,种子点没有移动

2.Apriori算法

(1)算法过程

    1)找到所有的频繁1项集

    2)扩展频繁(k-1)项集得到候选k项集

    3)剪除不满足最小支持度的候选项集

    4) 满足最小支持度和最小置信度的两项具有强关联规则

3.FP-growth

(1)算法过程:

    1) 扫描事务数据库D一次,得到频繁项的集合F及它们的支持度。将F按支持度降序排列成L,L是频繁项的列表。

    2)创建FP树的根,标注其为NULL。对D中的每个事务进行一下操作:

    3)建树,从树中找到条件模式基,条件FP树,以及产生的频繁模式。

(2)算法实例

    https://blog.csdn.net/baixiangxue/article/details/80335469

 

 

    

 

 

 

 

 

posted @ 2019-08-09 10:44  %木糖醇---LHY%  阅读(184)  评论(0编辑  收藏  举报