损失函数(Loss function)是定义在单个训练样本上的,是真实值和预测值的非负值函数。也就是算一个样本的误差。
代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。
1、“损失函数”一般是指对单个样本的做的损失
|yi−f(xi)||yi−f(xi)|
2、“成本函数”一般是数据集上总的成本和损失
1/N⋅∑i=1N|yi−f(xi)|+正则项1/N⋅∑i=1N|yi−f(xi)|+正则项
3、“目标函数”是一个非常广泛的名称
一般我们都是先确定一个“目标函数”,再去优化它。比如在不同的任务中“目标函数”可以是:
– 最大化后验概率MAP(比如朴素贝叶斯)
– 最大化适应函数(遗传算法)
– 最大化回报/值函数(增强学习)
– 最大化信息增益/减小子节点纯度(CART 决策树分类器)
– 最小化平方差错误成本(或损失)函数(CART,决策树回归,线性回归,线性适应神经元)
– 最大化log-相似度或者最小化信息熵损失(或者成本)函数
– 最小化hinge损失函数(支持向量机SVM)