对一个矩阵在行的方向进行 normalize,也即每一行的二范数归一化为 1。
简单脚本实现
>> X = magic(3);
>> N = sqrt(sum(X.^2, 2) + 1e-8);
>> X = X ./ (N*ones(1, 3));
函数
function [Y, N] = l2row(X)
N = sqrt(sum(X.^2, 2) + 1e-8);
Y = X ./ (N*ones(1, size(X, 2)));
end
当然 l2col
只需对 X 求转置(l2row(X')
)即可;
性质
∥f^∥1=∥∥∥∥f^∥f^2∥2∥∥∥∥1
the normalized features f^ are constrained to lie on the unit ℓ2 -ball(单位超球体上).
对特征进行归一化的一个属性就是它会隐含的进行特征间的竞争。归一化会使得如果只有一个特征分量 f(i) 增大,那么其他所有的特征分量的值将会减小。相似的,如果只有一个特征分量 f(i) 减小,那么其他所有的特征分量的值将会增大。