机器学习概览及常见算法
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=(xi−xj)2+(yi−yj)2
- 曼哈顿距离: d i j = ∣ x i − x j ∣ + ∣ y i − y j ∣ d_{ij}=|x_i-x_j|+|y_i-y_j| dij=∣xi−xj∣+∣yi−yj∣
- 余弦相似度: 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)
- 基尼系数
- 熵(0~1之间,越大越混乱,公式中p为均值)
-
-
确定终止条件
- 纯度
- 记录条数
- 循环次数
-
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
- 时间差学习