机器学习概览及常见算法

AI算法学习笔记(1)

有监督学习算法

分类算法(离散数据)
  • NB(朴素贝叶斯)
  • DT(决策树):C45、CART
  • SVM(支持向量机)
  • 神经网络算法
  • KNN(K最邻近)
回归预测(连续数据)
  • 线性回归
  • 逻辑回归
  • 岭回归
  • 拉索回归

常用评估指标

  • 精确率:预测结果与实际结果的比例;
  • 召回率:预测结果中某类结果的正确覆盖率;
  • F1-Score:统计量,综合评估分类模型, 取值0-1之间(越大越好);

KNN算法精讲

实现步骤
  • step1:确定k的取值,确定距离公式;

    • 距离公式

      • 欧式距离: d i j = ( x i − x j ) 2 + ( y i − y j ) 2 d_{ij}=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2} dij=(xixj)2+(yiyj)2
      • 曼哈顿距离: d i j = ∣ x i − x j ∣ + ∣ y i − y j ∣ d_{ij}=|x_i-x_j|+|y_i-y_j| dij=xixj+yiyj
      • 余弦相似度: d i j = cos ⁡ ( O A → , O B → ) d_{ij}=\cos(\overrightarrow{OA}, \overrightarrow{OB}) dij=cos(OA ,OB )
  • 计算r和所有样本点的距离;

  • 圈定符合条件的k条记录;

    • 将距离升序排列, 得到top k小的值, 选入KNN样本;
  • 统计样本分类, 确定新纪录r的分类;

实现伪码

在这里插入图片描述

KNN优缺点

在这里插入图片描述

决策树算法精讲

构建流程
  • step1:准备工作

    • 明确自变量和因变量

    • 确定信息度量的方式(信息增益:信息增益越大,对确定性贡献越大)

      • 熵(0~1之间,越大越混乱,公式中p为均值)
        • H ( U ) = − ∑ i = 1 n p i l o g ( p i ) H(U)=-\sum_{i=1}^{n}p_ilog(p_i) H(U)=i=1npilog(pi)
      • 基尼系数

在这里插入图片描述

  • 确定终止条件

    • 纯度
    • 记录条数
    • 循环次数
  • step2:选择特征

    • 得到当前待处理子集
    • 计算所有特征信息度量
    • 得到当前最佳分类特征
  • step2:创建分支

    • 根据选中特征将当前记录分成不同分支,分支个数取决于算法
  • step4:是否终止

    • 判断是否满足终止条件
      • 满足则退出循环(进入step2)
      • 不满足则继续递归调用
  • step5:生成结果

    • 判断是否需要剪枝
      • 需要则进行适当修剪
      • 不需要则为最终结果

在这里插入图片描述

各类决策树优缺点

在这里插入图片描述

在这里插入图片描述

无监督学习

聚类方法

K-Means聚类
  • 确定聚类个数,确定聚类中心, 确定距离计算公式;
    • 观察法
    • 枚举法
    • 其他技术手段
  • 计算每个点和聚类中心的距离,归类;
  • 更新聚类中心;
  • 重复2、3步(直到聚类中心不再变化或者变化很小);
K-Means优缺点

在这里插入图片描述

关联规则(Apriori)
  • 确定最小支持度和最小置信度;
  • 确定1…n项频繁项集;
  • 确定关联关系;

常见无监督学习算法

聚类算法
  • K-Means
  • DBScan
  • 最大期望
  • 降维:PCA(主成分分析)、PLS(偏最小二乘回归)、MDA(多维尺度分析);
关联规则
  • Apriori
  • Eclat

其他学习算法

半监督学习(训练数据部分被标识,部分没有被标识)
  • 半监督学习
  • 半监督回归
  • 半监督聚类
  • 半监督降维
集成学习

在这里插入图片描述

随机森林
  • 避免过拟合
深度学习
  • 受限波尔兹曼机(RBM)
  • 深度信念网络(DBN)
  • 卷积网络
  • 栈式自编码
增强学习
  • Q-Learning
  • 时间差学习
迁移学习
posted @ 2020-03-28 16:04  ccql  阅读(9)  评论(0编辑  收藏  举报  来源