监督学习的实现步骤:
在模型知道每一个样本的标签时,所进行的学习就是监督学习。监督学习与无监督学习的主要区别在于训练数据集有没有label
训练集: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2, y_2),...,(x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
实例x的特征向量 x = ( x ( 1 ) , x ( 2 ) , . . . , x ( N ) ) T x=(x^{(1)}, x^{(2)}, ...,x^{(N)})^T x=(x(1),x(2),...,x(N))T
决策函数: F = { f ∣ Y = f θ ( X ) , θ ∈ R n } F=\{f|Y=f_{\theta}(X), \theta \in R^n\} F={f∣Y=fθ(X),θ∈Rn}
条件概率分布: F = { P ∣ P θ ( Y ∣ X ) , θ ∈ R n } F=\{ P|P_\theta(Y|X), \theta \in R^n\} F={P∣Pθ(Y∣X),θ∈Rn}
0-1损失函数: L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X)) = \left\{\begin{matrix}1,Y\neq f(X)\\ 0, Y=f(X) \end{matrix}\right. L(Y,f(X))={1,Y=f(X)0,Y=f(X)
平方损失函数: L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Y−f(X))2
绝对损失函数: L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X)) = |Y-f(X)| L(Y,f(X))=∣Y−f(X)∣
对数损失函数: L ( Y , P ( Y ∣ X ) ) = − log P ( Y ∣ X ) L(Y,P(Y|X)) = -\log P(Y|X) L(Y,P(Y∣X))=−logP(Y∣X)
对于上述四种损失函数,0-1损失函数的原理是,对比预测值和真实值,相等(即预测成功)返回1,不相等(即预测失败)返回0,由此可以看出,0-1损失函数是一种非黑即白的函数。这个函数在评估模型准确度时,只能返回0或1(对或错)而不能准确的反映出存在的偏差的具体数值。下面的三种函数就是为了解决这一问题。
经验风险最小化: min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \min_{f\in F} \frac{1}{N}\sum _{i=1}^ N L(y_i, f(x_i)) f∈FminN1i=1∑NL(yi,f(xi))
结构风险最小化: min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in F} \frac{1}{N}\sum _{i=1}^ N L(y_i, f(x_i)) + \lambda J(f) f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
挑选一个合适的算法,使得可以求解最优模型
训练误差: 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) \frac{1}{N}\sum _{i=1}^ N L(y_i, \hat f(x_i)) N1i=1∑NL(yi,f^(xi))
测试误差: 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) \frac{1}{N^{'}}\sum _{i=1}^ {N^{'}} L(y_i, \hat f(x_i)) N′1i=1∑N′L(yi,f^(xi))
最小化结构风险: 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \frac{1}{N}\sum _{i=1}^ N L(y_i, f(x_i)) + \lambda J(f) N1i=1∑NL(yi,f(xi))+λJ(f)
交叉验证:数据集划分为以下三部分:
训练集:模型的训练
测试集:模型的选择
验证集:模型的评估
定理1.1泛化误差上界
对于二分类问题,当假设空间时有限个函数的集合 F = ( f 1 , f 2 , . . . , f d ) F=(f_1, f_2,...,f_d) F=(f1,f2,...,fd)时,对任意一个函数 f ∈ F f \in F f∈F,至少以概率 1 − δ 1-\delta 1−δ, 以下不等式成立: R ( f ) ≤ R ^ ( f ) + ϵ ( d , N , δ ) R(f) \leq \hat{R}(f) + \epsilon(d,N,\delta) R(f)≤R^(f)+ϵ(d,N,δ)
其中: ϵ ( d , N , δ ) = 1 2 N ( log d + log 1 δ ) \epsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(\log d + \log{\frac{1}{\delta}})} ϵ(d,N,δ)=2N1(logd+logδ1)
生成方法: P ( X ∣ Y ) = P ( X , Y ) P ( x ) P(X|Y) = \frac{P(X,Y)}{P(x)} P(X∣Y)=P(x)P(X,Y)
判别方法: f ( X ) , P ( Y ∣ X ) f(X),P(Y|X) f(X),P(Y∣X)
T P TP TP-将正类预测为正类
F N FN FN-将正类预测为负类
F P FP FP-将负类预测为正类
T N TN TN-将负类预测为负类
精确率:预测为正类的样本中有多少被分对了 P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP
召回率:在实际正类中,有多少正类被模型发现了 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
F1值: 2 F 1 = 1 P + 1 R \frac{2}{F_1} = \frac{1}{P} + \frac{1}{R} F12=P1+R1
F 1 = 2 T P 2 T P + F P + F N F_1 = \frac{2TP}{2TP+FP+FN} F1=2TP+FP+FN2TP
得出的结果是一个精确的值