天天看點

徐海蛟:向量X的歸一化及其Matlab簡單示例

徐海蛟博士

歸一化是要把需要處理的資料經過處理後限制在一定範圍内,例如:[-1,1]或[0,1]。歸一化是為了後續資料處理的友善,也使得算法程式收斂加快。

在Matlab裡面,歸一化的方法共有3種:

(1)mapminmax % 範圍映射

(2)mapstd % 均值與偏差

(3)自定義函數

在資料預處理過程中,對資料集按行或者按列(統一記為向量X)進行L1或者L2範數歸一化是一種常見的處理方式。

對于向量X(x1,x2,...,xn),記norm(X)為向量X的範數,那麼,X的L1範數為xi絕對值之和,L2範數為xi的平方和,而其Lp範數:向量X各個元素xi絕對值的p次方求和後再求1/p次方。這裡,i = 1,2,...,n。則X歸一化後的向量是X'(x1',x2',...,xn'), xi' = xi/norm(X)。

童鞋們,可以跟着徐海蛟老師寫出最簡單的matlab示例代碼:

%% 徐海蛟博士: L1範數-行歸一化

A = [1 2 3; 4 5 6];

[m n] = size(A);

% 歸一化

for i = 1:m

A(i,:) = A(i,:)/norm(A(i,:),1);

end

%% 徐海蛟博士:

繼續閱讀