机器学习基础-引用同济子豪兄版

转载原自:

7【子豪兄】机器学习基础_哔哩哔哩_bilibili

目录

机器学习任务:

鸢尾花数据集:

评估分类模型:

分类模型(监督学习)

训练集/测试集

二分类问题(Binary classification)

结论:

谷歌可视化降维:


机器学习任务:

classification(分类)(有监督):KNN,SVM,决策树,朴素贝叶斯,逻辑回归,深度神经网络

regression(回归)(有监督):SGD,Lasso,SVR

clustering(聚类)(无监督):KMeans,MiniBatch

dimensionality reduction(降维)(无监督)

Reinforcement(强化学习):给予机器奖惩制度

鸢尾花数据集:

1.使用决策树进行分类,决策树也就是在每一步都做出决策,往左走还是往右走。

2.聚类:将同一类型的数据放到一起

评估分类模型:

分类模型(监督学习)

  • 标签是离散值为分类问题(如猫狗图像分类/手写数字识别)
  • 标签是连续值是回归问题(如股价/房价/用电量预测)

训练集/测试集

  • 将特征和标签输入到分类模型,模型根据每个数据的特征,猜测每个数据的标签,模型自我更新,使猜测的标签和真实标签的差别最小化
  • 常用的分类模型:决策树,朴素贝叶斯,支持向量机,KNN,神经网络,逻辑回归,线性判别分析,随机森林,隐马尔可夫,贝叶斯网络

二分类问题(Binary classification)

标签只有两类:是或者不是

二分类混淆矩阵
真实/预测 预测为肺炎 预测为健康
肺炎 True Positive  √ False Negative X
健康 False Positive  X True Negaive √

假如TP = 45,FN = 5, FP = 15, TN = 35

TP + FN :真实肺炎数据个数总和

FP + TN:真实健康数据个数总和

TP + TN:所有分类正确数据个数总和

那么Precision(查准率) = 45/(45+15) = 0.75 (TP / (TP + FP))就是被判定生病的有多少是真的生病

Recall(召回率)= 45 / (45 + 5)= 0.9 (TP / (TP + FN))就是生病的有多少被预测出来

查准率和召回率是相爱相杀的,所以需要一个函数来调和两者,因此F1-Score出来了

F1-Score = 2 * 1/(1/Pression + 1/Recall)

FI-Score (调和平均)= 2 x 0.75 x 0.9 / (0.75 + 0.9) =0.82 

Accurary (准确率)= (45 + 35) / 100 = 0.8      (正确分类的个数/总数)

Specificity(特异性) = 35 / (15 + 35) = 0.7

 有了这些可以绘制ROC(受试者工作特性曲线)曲线

机器学习基础-引用同济子豪兄版_第1张图片

 ROC曲线是由TPR和FPR构成的,完美曲线是左上三角曲线,曲线越接近左上角,分的越好,数据分开的越开,分类效果越好。

机器学习基础-引用同济子豪兄版_第2张图片机器学习基础-引用同济子豪兄版_第3张图片机器学习基础-引用同济子豪兄版_第4张图片

结论:

  • 对数损失不适用于样本不均衡时的分类评估指标
  • ROC-AUC可作为样本正负不均衡时的分类评估指标
  • 如果我们想让少数情况被正确猜测,就用ROC-AUC作为评估指标
  • F1-Score和PR曲线在正样本极少时适用于作为分类评估指标
  • F1-Score和PR曲线在FP比FN更重要时,适用于作为分类评估指标

谷歌可视化降维:

Embedding projector - visualization of high-dimensional data (tensorflow.org)

 这个网站谷歌将经典数据集可视化到网站上,可以降维调节参数看到数据的聚簇。

子豪兄还玩转MNIST数据集,其中有降维实现可视化聚类方法。链接:

Pytorch多层感知机分类MNIST数据集_哔哩哔哩_bilibili

 

你可能感兴趣的:(深度学习-计算机视觉,算法,人工智能)