
什么是机器学习
机器学习三步骤
为什么机器学习不容易
- 计算机看到的世界
import matplotlib.pyplot as plt
from sklearn import datasets
digits = datasets.load_digits()
digital = digits.images[0]
label = digits.target[0]
print(digital)
print("\n hand write numbers:", label)
plt.axis('off')
plt.imshow(digital, cmap = plt.get_cmap('gray_r'))
plt.show()
监督学习 —— 近乎分类
- 分类
- 回归
- 损失函数
非监督学习 —— 近乎聚类
- k-Means K均值聚类
- Hierarchical Clustering 层次聚类
- PCA 主成分分析
- DBSCAN
- Deep Belief Net 深度信念网络
半监督学习
人类就是半监督学习
聚类假设——相似的样本拥有相似的输出
常见的半监督学习算法有:
- 生成式方法
- 半监督支持向量机(S3VM,是SVM在半监督学习上的推广)
- 图半监督学习
- 半监督聚类
模型性能评估
-
监督学习
-
分类错误率 error rate
- m个样本,a个被模型错误分类,errorRate = a/m
-
训练误差:训练集上的误差
-
测试误差:测试集上的误差
-
泛化误差:新样本上的误差
随着训练次数增加,训练误差会越来越小,测试误差会越来越大,我们需要平衡 tradeoff 训练误差和测试误差,让他们达到一个取舍平衡点。
-
-
欠拟合和过拟合
-
欠拟合:高偏差 high bias
- 对已有数据集的特征都没有学好的一种表现
- 好解决:比如决策树算法中扩展分支;神经网络中增加训练的轮数
-
过拟合:高方差 high variance
- 模型反应训练数据过于好,对未知数据的预测能力比较差。说明模型泛化能力很差。
- 难克服:简化模型的纠正策略——正则化 regularization
-
-
模型选择和数据拟合
-
残差
-
-
最小二乘法MLS
-
-
-
性能度量
-
二值分类器 Binary Classifier
-
-
混淆矩阵
-
-
准确率:(Accuracy)
-
查全率(Recall,又称召回率)
- 也就是一共多少个正样本,判断出来几个正样本TP
- 一共几个逃犯,判断出几个逃犯
-
查准率(Precision,简称P)
- 也就是模型给出的正样本TP+FP,实际判断正确的正样本TP
- 一共给了几个商品,用户要的商品有几个
-
那么准确率和查准率显然是有区别的
- 准确率不管预测结果是正是负,查准率需要预测结果都是正。
-
F1分数:兼顾Recall和Precision
-
-
可以有系数
-
-
原因:
-
-
-
P-R曲线
- 外包围的曲线,P R双高,效果更好
-
ROC曲线
- 受试者工作特征曲线
-
-
-
- AUC