相关文章链接
机器学习的基本概念
模型的评估与选择
回归分析
决策树与随机森林
支持向量机SVM与隐马尔可夫模型
卷积神经网络CNN与循环神经网络RNN
聚类与集成算法
模型的评估与选择
评估方法
留出法
直接将数据集划分为两个互斥的集合,2/3-4/5。
划分原则:划分过程尽可能保持数据分布的一致性
方法缺陷:训练集过大,更接近整个数据集,但是由于测试集较小,导致评估结果缺乏稳定性;测试集大了,偏离整个数据集,与根据数据集训练出的模型差距较大,缺乏保真性。
交叉验证法
将数据集划分为k个大小相似的互斥子集,每个子集轮流做测试集,其余做训练集,最终返回这k个训练结果的均值。
优点:更稳定,更具准确定;
缺单:时间复杂的较大
自助法
包含m个样本的数据集D,对D进行随机抽样构建D’(抽取m次),然后将抽到的数据对象放回D,D’用作训练集,剩余数据作为测试集。某样本不被抽到的概率:
因此初始样本集D约有0.732的样本做训练集,0.368的样本做测试集
优点:适合较小的、难以有效划分训练/测试集的数据集;
缺点:产生的数据集改变了原始数据集的分布,这样会引入估计偏差。
调参
调参对象:1算法的固有参数,如k-means中的类簇个数;2模型的参数,如深度学习模型中上百亿个参数。两种参数均是产生多个模型之后基于某种评估方法来进行选择,不同之处在于前者通常是由人工设定多个参数候选值,后者通过学习。
参数是连续的,不可能一一实现,现实的做法是选取一个步长,所以选出的参数往往不是最好的,这是综合考虑开销与性能(没有免费的午餐)所做的折中的结果。
性能度量:错误率和精度,两者相加为1;均方误差,概率分布函数。
性能度量
对模型的泛化性能进行评估,我们需要有衡量模型泛化能力的评价标准,这就是性能度量(Performance Measure)。
均方误差
· E ( f ; d ) = 1 m ( ∑ i = 1 100 ( f ( x i ) − y i ) 2 E(f;d)=\frac{1}{m}(\sum_{i=1}^{100}(f(x_i)−y_i)^2 E(f;d)=m1(∑i=1100(f(xi)−yi)2
f ( x i ) f(x_i) f(xi)为预测结果, y i y_i yi为真实标记,即通过计算预测值与真实值差值的平方再求平均值来评估学习器的性能。
错误率:分类错误的样本数占总样本数的比例。
· E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f;D)=\frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_i)\neq y_i) E(f;D)=m1∑i=1mI(f(xi)=yi)
精度:1-错误率
· A c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) Acc(f;D)=\frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_i)= y_i) Acc(f;D)=m1∑i=1mI(f(xi)=yi)
= 1 − E ( f ; D ) =1-E(f;D) =1−E(f;D)
其中 $ \mathbb{I}(\cdot)$ 是指示函数。
均方误差常用于回归任务,精度和错误率常用于分类任务。
混淆矩阵
一般用于信息检索、Web搜索等场景中,适合于分类任务中。由此引申出
曲线、 F 1 F_1 F1度量、 F β F_\beta Fβ度量。
查准率:挑出来的真好瓜占所有挑出来好瓜的概率;
查准率
查全率(召回率):被挑出来的好瓜占所有好瓜的概率。
查全率
准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了
综合考虑查准率和查全率 进而提出了 F1-measure 相当于精确率和召回率的综合评价指标:,当 F 1 F_1 F1较高时则能说明试验方法比较有效。
一般的很多时候对精确率(Precision)和召回率(Recall)的重视程度不同,将F1值写成一般形式 F β , β F_{\beta},\beta Fβ,β的大小设置成能表达出对精确率(Precision)和召回率(Recall)的不同偏好。
F β = 1 β 2 ∗ ( 1 P + β 2 R ) F_{\beta}=\frac{1}{\beta^2}*(\frac{1}{P}+\frac{\beta^2}{R}) Fβ=β21∗(P1+Rβ2)
当 β = 1 \beta=1 β=1时,即为 F 1 F_1 F1 ;
当 β > 1 \beta>1 β>1 时,召回率更重要;
当 0 < β < 1 0<\beta<1 0<β<1时,精确率更重要。
P-R曲线
在P-R曲线中,纵坐标采用的是查准率,横坐标采用的是查全率.
为了方便接下来的叙述,我们将P-R曲线绘制成单调平滑的曲线(注意,现实任务中的P-R曲线通常是非单调,不平滑的,在很多局部有上下波动,可参考上图),如下图:
P-R 图直观地展示了分类器在样本总体上的查全率与查准率。在进行比较时,若一个分类器的P-R曲线被另一个分类器的曲线完全包住,则可断言后者的性能优于前者。例如,上图中 B 的性能要优于 C。
如果两个分类器的P-R曲线发生交叉,例如上图中的 A 和 B,这时一个比较合理的判据是比较P-R曲线下面积的大小,它在一定程度上表征了分类器在查准率和查全率上取得相对 “双高” 的比例,但这个值不容易估算,因此需要设计一些能综合考察查准率和查全率的性能度量。
平衡点(Break-Even Point,简称BEP)就是这样一种度量,它是 P = R 时的取值。
ROC
ROC曲线纵坐标采用的是真正例率(True Positive Rate,简称TPR),横坐标采用的是假正例率(False Positive Rate,简称FPR),两者分别定义为
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
我们将诸
(
F
P
R
,
T
P
R
)
(FPR,TPR)
(FPR,TPR)点用线段连接起来就得到了ROC曲线。
TPR:模型预测的正例占实际正例的比例
FPR:模型预测的反例占实际反例的比例
P:模型预测的正例的正确率
R:模型预测的正例的完整率
ROC曲线呈 “上升” 趋势,它的第一个点和最后一个点一定会分别位于(0,0) 和(1,1)。学习器的性能越好,ROC曲线越接近图中的左上角。
AUC(Area Under roc Curve)
在进行学习器的比较时,与P-R图相似,若一个学习器的ROC曲线被另一个学习器的曲线完全包住,则可断言后者的性能优于前者。如果两个学习器的ROC曲线发生交叉,那么我们就要比较ROC曲线下的面积,即AUC(Area Under roc Curve),如下图所示
假定ROC曲线是由坐标为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x m , y m ) (x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m) (x1,y1),(x2,y2),⋯,(xm,ym)的按序连接形成,其中 ( x 1 , y 1 ) = ( 0 , 0 ) , ( x m . y m ) = ( 1 , 1 ) (x_1,y_1)=(0,0),(x_m.y_m)=(1,1) (x1,y1)=(0,0),(xm.ym)=(1,1) ,则AUC为
A
U
C
=
∑
i
=
1
m
−
1
(
x
i
+
1
−
x
i
)
⋅
y
i
+
1
+
y
i
2
AUC=\sum_{i=1}^{m-1}(x_{i+1}-x_i)\cdot \frac{y_{i+1}+y_i}{2}
AUC=∑i=1m−1(xi+1−xi)⋅2yi+1+yi
原文链接:https://blog.csdn.net/raelum/article/details/125041310
代价曲线
不同类型的错误所造成的后果或者代价是不同的,因此ROC曲线不能直接反映出模型的性能,但是还有代价曲线可以帮助我们衡量模型的性能
代价敏感错误率是基于非均等代价的。二分类代价矩阵:costij表示将第i类样本预测为第j类样本的代价。一般说来,costii=0;若将第0类判别为第1类所造成的损失更大,则cost01> cost10;
在非均等错误代价下,我们希望的是最小化“总体代价”,这样“代价敏感”的错误率为:
原文链接:https://blog.csdn.net/qq_17073497/article/details/80411143
代价曲线:
这个直线也代表了模型随着训练从欠拟合到过拟合的一个过程,因此取面积交集,且面积交集越大,模型越优
https://www.guyuehome.com/34166
性能评估
1.获取更多的样本
2.减少或增加特征量
3.减少或增加lamda的值