经验误差和过拟合
只需知道几个概念的问题,精度,误差(经验误差,泛化误差)
泛化误差一般是用来评估一个模型的好坏。
泛化性的下降一般体现在两个方面:overfitting(过拟合)underfitting(欠拟合)
评估方法分为三类:留出法,交叉验证法和自助法
留出法
直接把样本进行37分或28分(大部分的分类比例)
坏处:可能打破了原有的数据集的分布规律,使预测不准确
好处:对于金融预测(今天的预测未来的)那么这种方法就很适合
交叉验证法
把数据集分为m份每次拿出其中的一份来进行测试,另外的来进行预测
留一法
m=数据集数量
x
1
,
x
2
.
.
.
.
x
n
−
1
x_1,x_2....x_{n-1}
x1,x2....xn−1
x
n
x_n
xn
x
1
,
x
2
.
.
.
.
x
n
x
n
−
1
x_1,x_2....x_nx_{n-1}
x1,x2....xnxn−1
…
x
2
,
x
3
.
.
.
.
x
n
,
x
1
x_2,x_3....x_n,x_1
x2,x3....xn,x1
坏处:计算量大,耗时耗力
自助法
D:{1 2 3 4 5 6 7 }
D’:{1 1 3 2 3 5 6 1}
D-D’:{4,7}
则D‘为训练集,D-D’为测试集
验证集:用训练集训练数据,用验证集确定参数,再用训练集训练数据,最后差不多了就用测试集测试数据
回归方差
基本求方差的式子E(f,D)数据集D用模型f的误差
E
(
f
,
D
)
=
1
m
∑
i
=
1
m
f
(
x
i
−
y
i
)
2
E(f,D)=\frac{1}{m}\sum_{i=1}^{m}f(x_i-y_i)^2
E(f,D)=m1∑i=1mf(xi−yi)2
加上一个加权后
E
(
f
,
D
)
=
∫
x
−
D
(
f
(
x
)
−
y
)
p
(
x
)
d
(
x
)
E(f,D)=\int_{x-D}(f(x)-y)p(x)d(x)
E(f,D)=∫x−D(f(x)−y)p(x)d(x)
查准率和查全率
确定最优阈值
1.使用平衡点(P=R)
2.F1度量
1
F
=
1
P
+
1
R
\frac{1}{F}=\frac{1}{P}+\frac{1}{R}
F1=P1+R1
本质:预测正的正确样本数占比
3.Fb度量
1
F
b
=
1
1
+
b
2
(
1
P
+
b
2
R
)
\frac{1}{F_b}=\frac{1}{1+b^2}(\frac{1}{P}+\frac{b^2}{R})
Fb1=1+b21(P1+Rb2)
本质:加权后的预测正的正确样本数占比
以上是同一个数据集判别一个模型的好坏的标准,下面是同一个数据集判别不同模型好坏的标准
P-R曲线
1 完全包含的那条曲线代表的模型好过被包含的曲线代表的模型
2 若两条曲线交叉,则
1)求面积(不太好求)
2)看F1
3)看Fb
ROC曲线
如果说P-R是横向和纵向之比的话,ROC就是两个横向之比。前者和阈值的关系是反向,后者是同乡
其面积为AUC
难点:如何求rank-loss,以及AUC与rank-loss之间的关系
举例说明,并配上图像即可知 AUC=1-rank-loss
代价敏感曲线
目的:不同p(正例所占的比例)导致的归一化代价的不同。寻找模型的最优阈值
步骤:
- 定义阈值
- 找到m+和m-数量
- 定义p
- 求出FP FN TP TN
- 求出FNR FPR
- 求出横坐标 p c o s t 01 p c o s t 01 + ( 1 − p ) c o s t 10 \frac{pcost_{01}}{pcost_{01}+(1-p)cost_{10}} pcost01+(1−p)cost10pcost01
- 求出纵坐标 F N R ∗ p ∗ c o s t 01 + F P R ∗ ( 1 − p ) c o s t 10 p c o s t 01 + ( 1 − p ) c o s t 10 \frac{FNR*p*cost_{01}+FPR*(1-p)cost_{10}}{pcost_{01}+(1-p)cost_{10}} pcost01+(1−p)cost10FNR∗p∗cost01+FPR∗(1−p)cost10
上图中横坐标和纵坐标都是函数,横坐标是p的函数,之所以不直接用p,可能是因为以p为横坐标的图像是曲线,面积不太好求,见下