在交叉验证中,训练样本不做测试(训练样本的测试结果不能作为模型好坏的评判标准)
交叉验证可以充分利用训练样本
留一法:把n个样本分成n份,每次训练n-1个,留一个样本做测试
模型没训练好的情况:①:参数没选好②数据集本身没有规律,③SVM算法没有找到这些数据的规律
如果一个系统把更多的正样本识别为正样本,那么也一定会把更多的负样本识别为正样本,即TP增加,则FP也增加
在这张ROC图中,对于横坐标每一个识别错误(FP),蓝色的线纵坐标(TP)都更高,所以蓝色的线的模型性能更好,一般比较系统,比较FP为0时的TP值。
模型的好坏不能只用识别率来判断,还需要用ROC曲线和EER曲线,以及可以用面积法来判断
SVM处理多类问题
(2)一类VS其他类
针对(2)一类VS其他类解释一下
假设有C1,C2,C3这3个类,要实现多分类的话,我们先把C1C2归为一类,C3作为另一类,训练的到模型SVM1,同样的方法得到模型SVM2,SVM3,现在有一个样本x,假设在SVM1上判断为1,在SVM2上判断为1,在SVM3上判断为-1,那么可以得出x属于C1类
那如果在SVM1判断为1,在SVM2判断为-1,在SVM3判断为-1,则x要么属于C1要么属于C2,怎么进一步判断呢
算这个值,哪一个负得多就取哪一个
(3)一类VS另一类
那么输入的x属于C1,如果有n类的话,就需要(n*(n-1))/2个SVM模型