损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。常见的损失函数如下:
https://camo.githubusercontent.com/cfc03260facf99d602bc1a581b5f82b223f08834ec065cecafad563f5c993e50/687474703a2f2f7778312e73696e61696d672e636e2f6d773639302f30303633304465666c793167356535747a636769736a333061613031687765642e6a7067
Y-f(X)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值(注:该式子未加入正则项),也就是最小化残差的平方和。而在实际应用中,通常会使用均方差(MSE)作为一项衡量指标,公式如下:
https://latex.codecogs.com/gif.latex?MSE=\frac{1}{n}\sum_{i=1}^{n}(Y_i^{'}-Y_i
https://camo.githubusercontent.com/b18628e3c0560281acd5e14f43ec09e3e6a507f18b16d60d72d9a1c9b26f1aae/68747470733a2f2f7778312e73696e61696d672e636e2f6c617267652f30303633304465666c793167347076747a337477396a333065743034763073772e6a7067
公式中的 y=1 表示的是真实值为1时用第一个公式,真实 y=0 用第二个公式计算损失。为什么要加上log函数呢?可以试想一下,当真实样本为1是,但h=0概率,那么log0=∞,这就对模型最大的惩罚力度;当h=1时,那么log1=0,相当于没有惩罚,也就是没有损失,达到最优结果。所以数学家就想出了用log函数来表示损失函数。
最后按照梯度下降法一样,求解极小值点,得到想要的模型效果。该损失函数一般使用在逻辑回归中。
https://camo.githubusercontent.com/3ea05bfd4edbb5d91aa50d9c81a039158f530020d6683529fce4225ab4023a5e/687474703a2f2f7778322e73696e61696d672e636e2f6d773639302f30303633304465666c793167356366377a316b31726a3330623430623477656a2e6a7067
https://latex.codecogs.com/gif.latex?L_i=\sum_{j\neq t_i}max(0,f(x_i,W
SVM采用的就是Hinge Loss,用于“最大间隔(max-margin)”分类。
https://camo.githubusercontent.com/974d99c908d99779a18dd4b7eebbe0c3243497b575765a6cace2cd9c7a4d2b8f/687474703a2f2f7778312e73696e61696d672e636e2f6d773639302f30303633304465666c793167347735657a6a7236346a333073653033706d79362e6a7067