向量X的归一化及其Matlab简单示例
来源:互联网 发布:php过滤sql注入函数 编辑:程序博客网 时间:2024/06/07 02:34
Come from:http://blog.csdn.net/xuhaijiao99/article/details/12884423
归一化是要把需要处理的数据经过处理后限制在一定范围内,例如:[-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
%% 徐海蛟博士: L2范数-行归一化
A = [1 2 3; 4 5 6];
[m n] = size(A);
% 归一化
for i = 1:m
A(i,:) = A(i,:)/norm(A(i,:));
end
这里,Lp范数 norm(X,p) = sum(abs(A).p)^(1/p)。那么,
L1范数norm(X) = sum(abs(A)) = norm(X,1),
L2范数norm(X) = sum(A.^2)^(1/2) = norm(X,2)。
若去掉循环,更高效的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) );
0 0
- 徐海蛟:向量X的归一化及其Matlab简单示例
- 向量X的归一化及其Matlab简单示例
- Matlab最快的矩阵列向量归一化方法
- 归一化处理的目的和意义及其MATLAB方法
- [matlab]归一化的数字滤波器
- MATLAB 图像的归一化
- 归一化的matlab实现
- MATLAB向量和矩阵的简单操作
- 数据的归一化及其还原
- OpenCV中Mat的列向量归一化
- Matlab归一化
- MATLAB数据归一化汇总(最全面的归一化介绍)
- 向量的范数及其一个简单的应用
- 一个简单的makefile示例及其注释
- 一个简单的makefile示例及其注释
- 一个简单的makefile示例及其注释
- 一个简单的makefile示例及其注释
- 一个简单的makefile示例及其注释
- light oj 1422 - Halloween Costumes (区间dp)
- hashmap遍历所有元素
- highchart小结
- 浅析Java与C#的事件处理机制
- xbmc安卓编译环境搭建
- 向量X的归一化及其Matlab简单示例
- STM32 AT 和 GPRS/GSM之间的关系梳理
- Swift视频教程:Swift入门教程
- asp.net mvc4
- const and not const
- 黑马程序员————集合框架小结(第一篇)
- 远程登陆cisco防火墙
- GNU介绍
- svn操作说明