L2范数归一化概念和优势

  • 时间:
  • 浏览:0

       归一化是四种 数理统计中常用的数据预出理 手段,在机器学习中归一化通常将数据向量每个维度的数据映射到(0,1)或(-1,1)之间的区间然后将数据向量的某个范数映射为1,归一化好处有有有四个 :

       (1) 消除数据单位的影响:其一能够 将有单位的数据转为无单位的标准数据,如成年人的身高60 -60 cm、成年人体重60 -90Kg,身高的单位是厘米而体重的单位是千克,不同维度的数据单位不一样,造成原始数据必须直接代入机器学习中进行出理 ,可是 这些 数据经过特定土辦法 统一都映射到(0,1)这些 区间,本来所有数据的取值范围全部都是同有有四个 区间里的。

       (2) 可提角度学习模型收敛传输带宽: 然后不进行归一化出理 ,假设角度学习模型接受的输入向量必须有有四个 维度x1和x2,其中X1取值为0-60 0,x2取值为0-3。本来数据在进行梯度下降计算时梯度时对应有有四个 很扁的椭圆形,很容易在垂直等高线的方向上走絮状的之字形路线,是的迭代计算量大且迭代的次数多,造成角度学习模型收敛慢。

       L2范数归一化出理 操作是对向量X的每个维度数据x1, x2, …, xn都除以||x||2得到有有四个 新向量,即

\[{{\bf{X}}_2} = \left( {\frac{{{x_1}}}{{{{\left\| {\bf{x}} \right\|}_2}}},\frac{{{x_2}}}{{{{\left\| {\bf{x}} \right\|}_2}}}, \cdots ,\frac{{{x_n}}}{{{{\left\| {\bf{x}} \right\|}_2}}}} \right) = \left( {\frac{{{x_1}}}{{\sqrt {x_1^2 + x_2^2 + \cdots + x_n^2} }},\frac{{{x_2}}}{{\sqrt {x_1^2 + x_2^2 + \cdots + x_n^2} }}, \cdots ,\frac{{{x_n}}}{{\sqrt {x_1^2 + x_2^2 + \cdots + x_n^2} }}} \right)\]

       若向量A = (2, 3, 6),易得向量X的L2范数为

\[{\left\| {\bf{A}} \right\|_2} = \sqrt {{2^2} + {3^2} + {6^2}} = \sqrt {4 + 9 + 36} = \sqrt {49} = 7\]

       可是 向量A的L2范数归一化后得到向量为

\[{{\bf{A}}_2} = \left( {\frac{2}{7},\frac{3}{7},\frac{6}{7}} \right)\]



图1 L2范数能够 看作是向量的长度

       L2范数有一大优势:经过L2范数归一化后,一组向量的欧式距离和它们的余弦类式度能够 等价

       有有四个 向量X经过L2范数归一化得到向量X2,一并本来向量Y经过L2范数归一化得到向量Y2。此时X2和Y2的欧式距离和余弦类式度是等价的,下面先给出严格的数学证明。

       假设向量X = (x1, x2, …, xn),向量Y = (y1, y2, …, yn), X2和Y2的欧式距离是

\[\begin{array}{l} D\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right) = \sqrt {{{\left( {\frac{{{x_1}}}{{{{\left\| {\bf{X}} \right\|}_2}}} - \frac{{{y_1}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^2} + {{\left( {\frac{{{x_2}}}{{{{\left\| {\bf{X}} \right\|}_2}}} - \frac{{{y_2}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^2} + \cdots + {{\left( {\frac{{{x_n}}}{{{{\left\| {\bf{X}} \right\|}_2}}} - \frac{{{y_n}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^2}} \\ \quad \quad \quad \quad \quad \;\;\; = \sqrt {\left( {\frac{{\bf{X}}}{{{{\left\| {\bf{X}} \right\|}_2}}} - \frac{{\bf{Y}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right){{\left( {\frac{{\bf{X}}}{{{{\left\| {\bf{X}} \right\|}_2}}} - \frac{{\bf{Y}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^T}} \\ \quad \quad \quad \quad \quad \;\;\; = \sqrt {\frac{{{\bf{X}}{{\bf{X}}^T}}}{{\left\| {\bf{X}} \right\|_2^2}} - \frac{{{\bf{X}}{{\bf{Y}}^T}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}} - \frac{{{\bf{Y}}{{\bf{X}}^T}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}} + \frac{{{\bf{Y}}{{\bf{Y}}^T}}}{{\left\| {\bf{Y}} \right\|_2^2}}} \\ \quad \quad \quad \quad \quad \;\;\; = \sqrt {\frac{{{\bf{X}}{{\bf{X}}^T}}}{{{\bf{X}}{{\bf{X}}^T}}} - \frac{{2{\bf{X}}{{\bf{Y}}^T}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}} + \frac{{{\bf{Y}}{{\bf{Y}}^T}}}{{{\bf{Y}}{{\bf{Y}}^T}}}} \\ \quad \quad \quad \quad \quad \;\;\; = \sqrt {2 - 2\frac{{{\bf{X}}{{\bf{Y}}^T}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}}} \\ \end{array}\]

       X2和Y2的余弦类式度为

\[\begin{array}{l} Sim\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right) = \frac{{\frac{{{x_1}}}{{{{\left\| {\bf{X}} \right\|}_2}}} \cdot \frac{{{y_1}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}{\rm{ + }}\frac{{{x_{\rm{2}}}}}{{{{\left\| {\bf{X}} \right\|}_2}}} \cdot \frac{{{y_{\rm{2}}}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}{\rm{ + }} \cdots {\rm{ + }}\frac{{{x_n}}}{{{{\left\| {\bf{X}} \right\|}_2}}} \cdot \frac{{{y_n}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}}}{{\sqrt {{{\left( {\frac{{{x_1}}}{{{{\left\| {\bf{X}} \right\|}_2}}}} \right)}^{\rm{2}}}{\rm{ + }}{{\left( {\frac{{{x_{\rm{2}}}}}{{{{\left\| {\bf{X}} \right\|}_2}}}} \right)}^{\rm{2}}}{\rm{ + }} \cdots {{\left( {\frac{{{x_{\rm{n}}}}}{{{{\left\| {\bf{X}} \right\|}_2}}}} \right)}^{\rm{2}}}} \cdot \sqrt {{{\left( {\frac{{{y_1}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^{\rm{2}}}{\rm{ + }}{{\left( {\frac{{{y_{\rm{2}}}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^{\rm{2}}}{\rm{ + }} \cdots {\rm{ + }}{{\left( {\frac{{{y_n}}}{{{{\left\| {\bf{Y}} \right\|}_2}}}} \right)}^{\rm{2}}}} }} \\ \quad \quad \quad \quad \quad \;\;\; = \frac{{\frac{{{x_1}{y_1} + {x_2}{y_2} + \cdots + {x_n}{y_n}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}}}}{{\sqrt {\frac{{x_1^2 + x_2^2 + \cdots + x_n^2}}{{\left\| {\bf{X}} \right\|_2^2}}} \cdot \sqrt {\frac{{y_1^2 + y_2^2 + \cdots y_n^2}}{{\left\| {\bf{Y}} \right\|_2^2}}} }} \\ \quad \quad \quad \quad \quad \;\;\; = \frac{{\frac{{{x_1}{y_1} + {x_2}{y_2} + \cdots + {x_n}{y_n}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}}}}{{\sqrt {\frac{{x_1^2 + x_2^2 + \cdots + x_n^2}}{{x_1^2 + x_2^2 + \cdots + x_n^2}}} \cdot \sqrt {\frac{{y_1^2 + y_2^2 + \cdots y_n^2}}{{y_1^2 + y_2^2 + \cdots y_n^2}}} }} \\ \quad \quad \quad \quad \quad \;\;\; = \frac{{{x_1}{y_1} + {x_2}{y_2} + \cdots + {x_n}{y_n}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}} \\ \quad \quad \quad \quad \quad \;\;\; = \frac{{{\bf{X}}{{\bf{Y}}^T}}}{{{{\left\| {\bf{X}} \right\|}_2}{{\left\| {\bf{Y}} \right\|}_2}}} \\ \end{array}\]        结合有有四个 表达式易得



\[D\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right) = \sqrt {2 - 2sim\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right)} \]

       即L2范数归一化出理 后有有四个 向量欧式距离等于2减去2倍余弦类式度的算术平方根。然后你被后面 令人昏头转向的数学公式搞晕,而不看得人话语,这里还有四种 仅时要中学知识的更简单证明土辦法 证明两者的等价性:

       假设一组二维数据,设经过L2范数归一化后向量X2 为 (p1, p2),向量Y2 为 (q1, q2)。向量X2是原点(0,0) 指向点P(p1,p2)的有向线段,向量Y2是原点(0,0)指向点Q(q1, q2)的有向线段。易得

       X2和Y2的欧式距离为线段PQ长度

       X2和Y2的余弦类式度为∠POQ的余弦值

       根据余弦定理易得

\[\cos \angle POQ = \frac{{O{P^2} + O{Q^2} - P{Q^2}}}{{2 \cdot OP \cdot OQ}}\]

       然后L2范数归一化向量的长度全部都是1,然后L2范数归一化向量的长度全部都是1,那么向量对应的点肯定全部都是单位圆上,可是 OP=OQ=1



图2 L2范数归一化后向量对应的点全部都是单位圆上

       否则

\[\cos \angle POQ = \frac{{{1^2} + {1^2} - P{Q^2}}}{2} = \frac{{2 - P{Q^2}}}{2}\]

       即

\[sim\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right) = \frac{{2 - D{{\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right)}^2}}}{2} \Rightarrow D\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right) = \sqrt {2 - 2sim\left( {{{\bf{X}}_{\rm{2}}},{{\bf{Y}}_{\rm{2}}}} \right)} \]

       否则经L2范数归一化后,一组向量的欧式距离和它们的余弦类式度可等价。这些 大优势是当你算得一组经过L2范数归一化后的向量的欧式距离后,又想计算它们的余弦类式度,能够 根据公式在O(1)时间内直接计算得到;反过来也一样。

       另外,在某些机器学习出理 包中,必须欧式距离计算那么余弦类式度计算,如Sklearn的Kmeans聚类包,这些 包必须出理 欧式距离计算的数据聚类。

       而在NLP领域,某些词语或文档的类式度定义为数据向量的余弦类式度,然后直接调用Sklearn的Kmeans聚类包则必须进行聚类出理 。否则时要将词语对象的词向量然后文档对应的文本向量进行L2范数归一化出理 。然后在L2范数归一化出理 后的欧式距离和余弦类式度是等价的,可是 此时能够 放心大胆用Sklearn的Kmeans进行聚类出理 。