神经网络需要选择的有:1 网络结构模型  2 **函数  3 损失函数

学习训练设计到:1 优化,训练集训练参数  2 泛化,测试集优化参数

-----------------------------------------------------------------------

不同场景不同损失函数,需求不一样损失函数就不一样,例如分类一般使用交叉熵,回归一般使用均方根误差。各个场景一般都会有常用的损失函数,记住对号入座。损失函数是用来评价模型的预测值Y^=f(X)与真实值Y的不一致程度,它是一个非负实值函数。通常使用L(Y,f(x))来表示,损失函数越小,模型的性能就越好。

常见的损失函数

1.    0-1损失函数 (0-1 loss function)

它是一种较为简单的损失函数,如果预测值与目标值不相等,那么为1,否则为0,

    (yi,yi^)={1,0,yiyi^yi=yi^

2.    Perceptron Loss即为感知损失

(yi,yi^)={1,0,|yiyi^|>t|yiyi^|tℓ(yi,yi^)={1,|yi−yi^|>t0,|yi−yi^|≤t
其中tt是一个超参数阈值,如在PLA([Perceptron Learning Algorithm,感知机算法]

3.     Hinge Loss Hinge损失

用来解决间隔最大化问题,如在SVM中解决几何间隔最大化问题,其定义如下:

ℓ(yi,yi^)=max{0,1−yi⋅yi^}

yi

4.    平方损失函数(quadratic loss function)常用于回归中    

     L(Y,f(X))=(Y−f(x))2

5.    绝对值损失函数(absolute loss function)常用于回归中

    L(Y,f(x))=|Y−f(X)|
6.    对数损失函数(logarithmic loss function) 或对数似然损失函数(log-likehood loss function)

    L(Y,P(Y|X))=−logP(Y|X)    

逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好。

7.    交叉熵(Cross Entropy)作为其损失函数

即:ℓ(yi,yi^)=yi⋅logyi^+(1−yi)⋅log(1−yi^)


损失函数的选择

损失函数的选择

参考:

1 https://www.cnblogs.com/brainstorm/p/8819731.html

2 https://blog.csdn.net/heyongluoyao8/article/details/52462400

相关文章: