feature scaling
给定数据集,令特征向量为x,维数为D,样本数量为R,可构成D×R的矩阵,一列为一个样本,一行为一维特征,每一行都有自己的均值
m
i
m_i
mi和标准差
σ
i
\sigma _i
σi。
方差:
标准差:
zero-mean
一般能增加余弦相似度的差异,或增加样本间的余弦距离
余弦相似度:-1~1,值越大,说明两个向量方向差异越小
余弦距离:1-余弦相似度,0~2,值越大,说明两个向量方向差异越大
比如数据集集中分布在第一象限遥远的右上角,假设该数据集的中心点坐标为 ( 1200 , 1202 ) (1200, 1202) (1200,1202),其中两个特征点坐标为 A ( 1200 , 1200 ) , B ( 1202 , 1202 ) A(1200,1200),B(1202, 1202) A(1200,1200),B(1202,1202)。
- 零均值化之前:
AB的余弦相似度为: c o s ( θ ) = A ⃗ B ⃗ ∣ A ⃗ ∣ ∣ B ⃗ ∣ = 1200 × 1202 × 2 120 0 2 × 2 × 120 2 2 × 2 = 1 cos(\theta )=\frac{\vec{A} \vec{B}}{\left |\vec{A} \right |\left |\vec{B} \right |} =\frac{1200\times 1202\times 2}{{\sqrt{1200^{2} \times 2}\times {\sqrt{1202^{2}\times 2 } }}}=1 cos(θ)=∣A∣∣B∣AB=12002×2×12022×21200×1202×2=1
AB的余弦距离为: d c o s ( A ⃗ B ⃗ ) = 1 − c o s ( θ ) = 1 − A ⃗ B ⃗ ∣ A ⃗ ∣ ∣ B ⃗ ∣ = 1 − 1 = 0 d_{cos}(\vec{A}\vec{B})= 1-cos(\theta )=1-\frac{\vec{A} \vec{B}}{\left |\vec{A} \right |\left |\vec{B} \right |} =1-1=0 dcos(AB)=1−cos(θ)=1−∣A∣∣B∣AB=1−1=0 - 零均值化之后,
A
′
(
0
,
−
2
)
A^{'}(0, -2)
A′(0,−2),
B
′
(
2
,
0
)
B^{'}(2, 0)
B′(2,0)
余弦相似度为: c o s ( θ ′ ) = A ′ ⃗ B ′ ⃗ ∣ A ′ ⃗ ∣ ∣ B ′ ⃗ ∣ = 0 0 + ( − 2 ) 2 × 2 2 + 0 = 0 cos(\theta^{'})=\frac{\vec{A^{'}}\vec{B^{'}}}{\left |\vec{A^{'}}\right |\left |\vec{B^{'}}\right|} =\frac{0}{{\sqrt{0+(-2)^2}\times {\sqrt{2^2+0} }}}=0 cos(θ′)= A′ B′ A′B′=0+(−2)2×22+00=0
余弦距离为: d c o s ( A ′ ⃗ B ′ ⃗ ) = 1 − c o s ( θ ′ ) = 1 − A ′ ⃗ B ′ ⃗ ∣ A ′ ⃗ ∣ ∣ B ′ ⃗ ∣ = 1 − 0 = 1 d_{cos}(\vec{A^{'}}\vec{B^{'}})= 1-cos(\theta^{'})=1-\frac{\vec{A^{'}}\vec{B^{'}}}{\left |\vec{A^{'}}\right |\left |\vec{B^{'}}\right|} =1-0=1 dcos(A′B′)=1−cos(θ′)=1− A′ B′ A′B′=1−0=1
可以看出:零均值化后,AB两个向量的方向差异确实被放大了。
normalize
增大某个特征维度的尺度,相当于增加了该特征在距离计算中的权重。故欧式距离,方差均会受到影响。
什么情况下需要feature scaling
- 隐含距离计算:余弦距离,欧式距离,方差
- 损失函数包含正则项
- 梯度下降
具体解释参考文档在这里
网络权重初始化
Batch Normalization
梯度
参考文档看这里
分类问题为什么用交叉熵而不是均方误差
参考文档看这里
如何理解参考文献中的:均方误差不仅与 y ^ p \hat{y}_p y^p有关,还和其他项有关,它希望 y ^ 1 \hat{y}_1 y^1,…, y ^ p − 1 \hat{y}_{p-1} y^p−1, y ^ p + 1 \hat{y}_{p+1} y^p+1…, y ^ K \hat{y}_K y^K越平均越好?
- 举个例子:比如猫、老虎、狗的3分类问题,label为[1,0,0],现有两个预测结果:[0.8,0.1,0.1], [0.8,0.15,0.05]。
在均方误差看来:因为 [ ( 0.8 − 1 ) 2 + ( 0.1 − 0 ) 2 + ( 0.1 − 0 ) 2 ] < [ ( 0.8 − 1 ) 2 + ( 0.15 − 0 ) 2 + ( 0.05 − 0 ) 2 ] [(0.8-1)^2+(0.1-0)^2+(0.1-0)^2]<[(0.8-1)^2+(0.15-0)^2+(0.05-0)^2] [(0.8−1)2+(0.1−0)2+(0.1−0)2]<[(0.8−1)2+(0.15−0)2+(0.05−0)2],所以认为[0.8,0.1,0.1]这个预测结果要比[0.8,0.15,0.05]要好。
这个例子就暗含了均方误差的平均倾向,我们将这两个预测结果有差异的部分抽象出来(老虎,狗这两类的预测概率),即
a
+
b
=
M
a+b=M
a+b=M, 那么当
a
=
?
a=?
a=?,
b
=
?
b=?
b=?的时候,能让
(
a
−
0
)
2
+
(
b
−
0
)
2
(a-0)^2+(b-0)^2
(a−0)2+(b−0)2最小。这个例子M=0.2。
从上图可以看出当a=b=0.1时,能让
a
2
+
b
2
a^2+b^2
a2+b2最小。