神经网络需要选择的有: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,yi≠yi^yi=yi^
2. Perceptron Loss即为感知损失
3. Hinge Loss Hinge损失
用来解决间隔最大化问题,如在SVM中解决几何间隔最大化问题,其定义如下:
ℓ(yi,yi^)=max{0,1−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