人工智能三要素:数据、算力、算法
机器学习定义
- 机器学习是一门从数据中研究算法的科学学科。
- 机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测;
- 备注:机器学习就是一个模拟人决策过程的一种程序结构。
机器学习概念
拟合:构建的算法模型符合给定数据的特征
- 欠拟合:算法不太符合样本的数据特征
- 过拟合:算法太符合
样本数据
的特征,对于实际生产中的数据
特征无法拟合。【背答案,没有做归纳总结,新题不会,学习能力差】
鲁棒性:也就是健壮性、稳健性、强健性,是系统的健壮性;当存在异常数据的时候,算法也会拟合数据。【学习能力强,练习的会做,考试的也会做】
机器学习分类
有监督学习:用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此种方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集
中推断出模型的机器学习任务。
无监督学习:与监督学习相比,无监督学习的训练集中没有人为的标注
的结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。
半监督学习:考虑如何利用少量的标注样本
和大量的未标注样本
进行训练和分类的问题,是有监督学习和无监督学习的结合。
有监督学习(分类类型的算法)
判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判别模型有:Logistic回归、决策树、支持向量机SVM、k近邻、神经网络等;
生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;
- 生成式模型更普适;判别式模型更直接,目标性更强
- 生成式模型关注数据是如何产生的,寻找的是数据分布模型;判别式模型关注的数据的差异性,寻找的是分类面
- 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型
无监督学习
无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。
无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。
半监督学习(SSL)
主要考虑如何利用少量的标注样本
和大量的未标注样本
进行训练和分类的问题。
半监督学习对于减少标注代价
,提高学习机器性能具有非常重大的实际意义。
SSL的成立依赖于模型假设,主要分为三大类:平滑假设、聚类假设、流行假设;
其中流行假设更具有普片性。
SSL类型的算法主要分为四大类:半监督分类、半监督回归、半监督聚类、半监督降维。
缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。
机器学习分类2
分类:通过分类模型,将样本数据集中的样本映射到某个给定的类别中,在模型构建之前,类别信息已经确定了。【有监督】
聚类:通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大。【无监督】
回归:反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系
关联规则:获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。
分类任务评估指标
准确率 Accuracy
召回率 Recall
精确率 Precision
F1指标 F1 measure
混淆矩阵
![](https://img.haomeiwen.com/i18609861/08cc4acb74b444ba.png)
TP:正确的识别为正例
FN:错误的识别为负例
FP:错误的识别为正例
TN:正确的识别为负例
预测正确的:TP+TN
预测错误的:FN+FP
ROC曲线
![](https://img.haomeiwen.com/i18609861/7f879595bf6d8974.png)
O点:TPR=0,FPR=0【正例一个没预测出,负例也没预测为正例--->全部预测为负例】
A点:TPR=1,FPR=0【正例全部预测出,负例没有预测为正例--->全部预测正确】
B点:TPR=1,FPR=1【正例全部预测出,负例全部预测为正例--->全部预测为正例】
D点:TPR=0,FPR=1【正例一个没预测出,负例全部预测为正例--->全部预测错误】
ROC曲线特点
- 曲线越靠近左上角,说明模型性能越好,因为在这个位置上,真正例率较高的同时假正例率较低。
- 对角线(0.0到1.0)代表随机猜测的模型,具有较低的预测性能。
- 曲线下面积(Area Under the Curve,AUC)是ROC曲线下方的面积,用于定量评估分类模型的性能。AUC的取值范围在0到1之间,数值越大表示模型性能越好,AUC等于0.5时表示模型的预测性能与随机猜测的模型相当。
TPR(正正例率)
- 真正例率(True Positive Rate,TPR),也称为召回率(Recall)或灵敏度(Sensitivity),是ROC曲线中的纵轴,
- 它表示在所有实际为正例的样本中,被正确地预测为正例的比例。
- 真正例率可以用以下公式表示:
TPR = TP / (TP + FN)
,其中,TP表示真正例(True Positive)的数量,FN表示假负例(False Negative)的数量。 - 真正例率能说明模型对于正例样本的检测能力和覆盖程度。
- 具体而言,真正例率的含义和应用包括以下几个方面:
- 评估模型的召回能力:真正例率是描述模型正确判断正例的能力的指标。一个较高的真正例率表示模型能够有效地将真实的正例样本分类为正例,具有较高的召回能力。
- 发现正例样本:在一些任务中,例如癌症诊断或欺诈检测,我们希望尽可能多地发现真实的正例样本。通过提高真正例率,可以增加模型对真实正例的检测率,提高模型的敏感性。
- 控制遗漏率:在某些场景中,遗漏(Miss)正例样本的代价非常高昂。通过提高真正例率,可以减少模型对真实正例的遗漏率,降低错失重要信息的风险。
- 选择分类阈值:真正例率可以与假正例率(FPR)相结合,帮助选择合适的分类阈值。在某些场景中,我们希望平衡模型的准确性和召回能力,选择适当的阈值来实现平衡,以满足具体需求。
FPR(假正例率)
- 假正例率(False Positive Rate,FPR)是ROC曲线中的横轴,
- 它表示在
所有实际为负例
的样本中,被错误地预测为正例
的比例。 - 假正例率可以用以下公式表示:
FPR = FP / (FP + TN)
- 假正例率能说明模型在负例样本中产生误判的情况,即将负例样本错误地预测为正例的比例。
- 它对于评估模型的特定性(Specificity)和误报率(False Alarm Rate)有重要意义。
- 具体而言,假正例率的含义和应用包括以下几个方面:
- 评估模型的特定性:假正例率是描述模型正确判断负例的能力的指标。一个较低的假正例率表示模型能够有效地将真实的负例样本分类为负例,具有较高的特定性。
- 控制误报率:在某些任务中,例如垃圾邮件过滤或异常检测,我们希望尽可能减少被错误地预测为正例的负例样本。通过控制假正例率,可以限制模型产生误报的频率,提高模型的准确性和可用性。
- 选择分类阈值:假正例率可以与真正例率(召回率)相结合,帮助选择合适的分类阈值。在某些场景中,我们希望平衡模型的准确性和召回能力,选择适当的阈值来实现平衡,以满足具体需求。
AUC
- AUC的值越大表达模型越好
- AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大
于1。又由于ROC曲线一般都处于y=x这条直线的上方
,所以AUC的取值范围在0.5和1 之间
。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类
器的效果更好,而AUC作为数值
可以直观的评价分类器的好坏,值越大越好
。 - AUC = 1,是
完美分类器
,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。 - 0.5 < AUC < 1,
优于随机猜测
。这个分类器(模型)妥善设定阈值的话,能有预测价值
。 - AUC = 0.5,
跟随机猜测一样
(例:丢铜板),模型没有预测价值
。 - AUC < 0.5,
比随机猜测还差
;但只要总是反预测
而行,就优于随机猜测。
回归结果度量
平均绝对误差 mean_absolute_error
平均平方误差 mean_squared_error
模型评估总结_分类算法评估方式
指标 | 描述 | scikit-learn函数 |
---|---|---|
Precision | 精确度 | from sklearn.metrics import precision_score |
Recall | 召回率 | from sklearn.metrics import recall_score |
F1 | F1指标 | from sklearn.metrics import f1_score |
Confusion Matrix | 混淆矩阵 | from sklearn.metrics import confusion_matrix |
ROC | ROC曲线 | from sklearn.metrics import roc |
AUC | ROC曲线下的面积 | from sklearn.metrics import auc |
模型评估总结_回归算法评估方式
指标 | 描述 | scikit-learn函数 |
---|---|---|
Mean Square Error (MSE, RMSE) | 平均方差 | from sklearn.metrics import mean_squared_error |
Absolute Error (MAE, RAE) | 绝对误差 | from sklearn.metrics import mean_absolute_error, |
median_absolute_error R-Squared | R平方值 | from sklearn.metrics import r2_score |
网友评论