What
在机器学习中,损失函数(loss function)是用来估量模型的预测值f(x)与真实值y的不一致程度。
常见的损失函数
回归任务
均方误差
一般最常用
E
(
f
;
D
)
=
1
m
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
E(f;D)= \frac{1}{m} \sum_{i=1}^{m} (f(x_{i})-y_{i})^2
E(f;D)=m1i=1∑m(f(xi)−yi)2
补充
分类任务
交叉熵(cross entropy)
主要度量两个概率分布间的差异性信息。
给定两个概率分布:p(理想结果即正确标签向量)和q(一般为神经网络输出结果经过softmax转换后的结果向量)
softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内转换到q:
s
o
f
t
m
a
x
(
x
i
)
=
e
x
i
∑
j
e
x
j
softmax(x_i)=\frac{e^{x_i}}{\sum_j e^{x_j}}
softmax(xi)=∑jexjexi
通过q来表示p的交叉熵为:
H
(
p
,
q
)
=
−
∑
i
=
1
m
p
(
x
)
log
q
(
x
)
H(p,q)= -\sum_{i=1}^{m} p(x) \log{q(x)}
H(p,q)=−i=1∑mp(x)logq(x)
另外,它和信息熵很相似,但他们的本质有很大的不同
E
n
t
(
D
)
=
−
∑
k
=
1
∣
m
∣
p
k
log
2
p
k
Ent(D) = - \sum_{k=1}^{|m|} p_{k} \log_{2} {p_k}
Ent(D)=−k=1∑∣m∣pklog2pk
其中的向量元素代表各个类样本(m种)在总集合D中的比例,其值越小,D的纯度越高
(信息熵是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。)
SVM损失
min
w
,
b
1
2
∣
∣
ω
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
\min_{\bm{w},b} \frac{1}{2}||\bm{\omega}||^2+\sum_{i=1}^{m} \alpha _i(1-y_i(\bm{w^Tx_i} + b))
w,bmin21∣∣ω∣∣2+i=1∑mαi(1−yi(wTxi+b))
拉格朗日子乘法
西瓜书P123