一、LOSS函数
loss函数指机器学习模型中用于最小化的目标函数,其一般意义是指判别错误的程度,因为我们要提高准确率,也就是降低错误率,所以可以归结为一个最小化损失函数的问题。
具体的,我们假设有一个十分类问题,对于样本1号,我们计算它在10个类别上的得分分别是s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,而其正确的分类yi是第5类,对应的得分就是s5.
对于这个样本,我们选择什么样的方法去评判它的错误损失呢,可定义如下的loss函数。
1.1 线性模型中的两种损失函数
1、svm loss -----hinge loss
2、softmax loss ----cross-entropy loss
这个怎么得到的呢? 最小化交叉熵得到,可以看看逻辑回归的内容
1.2 区别
SVM 和 Softmax 之间的性能差异通常很小,不同的人会对哪个分类器效果更好有不同的看法。与 Softmax 分类器相比,SVM 是一个更局部的目标,可以将其视为错误或特征。考虑一个达到分数 [10, -2, 3] 并且第一类是正确的示例。一个 SVM(例如,期望的边距为 Δ=1Δ=1)将看到正确的类与其他类相比已经具有比边距更高的分数,并且它将计算损失为零。 SVM 不关心各个分数的细节:如果它们是 [10, -100, -100] 或 [10, 9, 9],SVM 将无动于衷,因为满足 1 的边际并因此损失为零。然而,这些场景并不等同于 Softmax 分类器,它会在分数 [10, 9, 9] 上累积比 [10, -100, -100] 高得多的损失。换句话说,Softmax 分类器永远不会对它产生的分数完全满意:正确的类总是有更高的概率,不正确的类总是有更低的概率,并且损失总是会变得更好。但是,一旦满足边距,SVM 就会很高兴,并且它不会对超出此约束的确切分数进行微观管理。这可以直观地被认为是一个特征:例如,一个汽车分类器可能将大部分“精力”花在将汽车与卡车分离的难题上,它不应该受到青蛙示例的影响,它已经分配了非常低的分数得分,并且可能聚集在数据云的完全不同的一侧。
用哪个可以根据实际情况区选择,主要考虑中间区别,是一刀切(SVM)还是给一个模糊的0.5,0.5的概率(softmax)
二、激活函数
神经网络模型中,每一层有一个激活函数,以提高模型的非线性能力。
1.1 常用激活函数
1、sigmoid 函数
2、ReLU 函数
3、others