徐海蛟:向量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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,有多种方法可以对向量进行归一。其中常见的方法有三种:范围映射法(mapminmax),均值与偏差法(mapstd)和自定义函数法。范围映射法将数据映射到指定范围内,例如[-1,1]或[0,1];均值与偏差法通过减去均值并除以标准差来实现归一;自定义函数法是根据自定义的函数来进行归一操作。 具体的归一方法可以根据具体需求选择。 对于L1或L2范数归一,可以使用以下代码示例来实现: 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 ``` L2范数-行归一: ``` A = [1 2 3; 4 5 6]; [m n = size(A); % 归一 for i = 1:m A(i,:) = A(i,:) / norm(A(i,:)); end ``` 其中,L1范数norm(X)表示向量X的绝对值之和,L2范数norm(X)表示向量X的平方和开方。归一后的向量X'可以通过X' = X / norm(X)来计算。 另外,还可以使用更高效的Matlab代码来实现归一操作: L1范数-行归一: ``` A = [1 2 3; 4 5 6]; A = A ./ repmat(sum(abs(A),2), 1, size(A,2)); ``` L2范数-行归一: ``` A = [1 2 3; 4 5 6]; A = A ./ repmat(sqrt(sum(A.^2,2)), 1, size(A,2)); ``` 这些代码可以将矩阵A的每一行归一为L1或L2范数。 除了以上方法,还有其他一些Matlab中常用的归一函数,例如premnmx、postmnmx、tramnmx、prestd、poststd和trastd等。这些函数可以根据具体需求选择合适的方法进行向量归一操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [徐海向量X的归一及其Matlab简单示例](https://blog.csdn.net/u012260637/article/details/12884423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Matlab 归一(normalization)/标准 (standarization)](https://blog.csdn.net/win_in_action/article/details/52151306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值