SVM & FC+Softmax 分类

支持向量机是一种二分类模型算法,它的基本模型是定义在特征空间的间隔最大的线性分类器,说白了就是在中间画一条线,然后以 “最好地” 区分这两类点。以至如果以后有了新的点,这条线也能做出很好的分类。SVM 适合中小型数据样本、非线性、高维的分类问题。

样本数量b,类别数量n,特征长度d。

全连接+softmax(适合大样本量):
Y=X@W+b
X [b, d] W [d, n] b [n] Y [b, n]
Y按行进行softmax,即每个样本属于各个类别的概率和为1
使用交叉熵损失优化

SVM(适合小样本量):
Y=X@W
X [b, d] W [d, n] Y [b, n]
使用sigmoid将结果映射到[0, 1]
原则上每个样本属于每个类别的概率均属于[0, 1]且无和为1的限制
W每列代表一个SVM分类器,n个类别共n个SVM分类器,每个SVM分类器输出该样本属于某一个类的概率(即每个SVM均做二分类)
对于第 j 个 S V M 分类器,其损失定义为: S V M j = 1 b ∑ i = 1 b ( o u t i j − g t i j ) 2 o u t i j ∈ [ 0 , 1 ]   g t i j = 0 / 1 ,且对“行和”“列和”无限制 总损失: S V M j = 1 n 1 b ∑ j = 1 n ∑ i = 1 b ( o u t i j − g t i j ) 2 对于第j个SVM分类器,其损失定义为:\\ SVM_j=\frac{1}{b}\sum_{i=1}^b(out_{ij}-gt_{ij})^2\\ out_{ij}\in[0,1]\:gt_{ij}=0/1,且对“行和”“列和”无限制\\ \\ 总损失: SVM_j=\frac{1}{n}\frac{1}{b}\sum_{j=1}^n\sum_{i=1}^b(out_{ij}-gt_{ij})^2 对于第jSVM分类器,其损失定义为:SVMj=b1i=1b(outijgtij)2outij[0,1]gtij=0/1,且对行和”“列和无限制总损失:SVMj=n1b1j=1ni=1b(outijgtij)2

你可能感兴趣的:(深度学习,支持向量机,分类,机器学习)