[转]矩阵按列按行归一化到L2范数的原理和最精简Matlab代码
来源:互联网 发布:数据分析师吧 编辑:程序博客网 时间:2024/04/29 03:49
矩阵按列按行归一化到L2范数的原理和最精简Matlab代码
在模式识别和机器学习的数据预处理过程中,对数据集按行或者按列进行L2范数归一化是一种常见的归一化方式,因此本文将介绍对向量进行L2范数归一化的原理和方法,并给出相关的Matlab源代码,供后学者作为基础知识参考使用。
由此,我们可以很块的写出最简单的matlab源代码如下:
首先按行归一化:
% Examples
A=[3 4;5 12];
[m n] = size(A);
% normalize each row to unit
for i = 1:m
A(i,:)=A(i,:)/norm(A(i,:));
end
按列归一化:
% normalize each column to unit
A=[3 4;5 12];
for i = 1:n
A(:,i)=A(:,i)/norm(A(:,i));
end
然而,上述代码最能实现功能,但并不是最优的,它只是一种对该过程的最佳理解代码。在Matlab中,for循环是一件非常费时间的结构,因此我们在代码中应该尽量少用for循环。由此,我们可以用repmat命令得到另一种更加简洁更加快速的代码,只是这种代码对于初学者理解起来比较费劲。可以看错是自己水平的一种进阶吧。
% normalize each row to unit
A = A./repmat(sqrt(sum(A.^2,2)),1,size(A,2));
% normalize each column to unit
A = A./repmat(sqrt(sum(A.^2,1)),size(A,1),1);
转自:http://blog.sciencenet.cn/blog-810210-655011.html
0 0
- [转]矩阵按列按行归一化到L2范数的原理和最精简Matlab代码
- 矩阵按列按行归一化到L2范数的原理和最精简Matlab代码
- L1归一化和L2归一化范数的详解和区别
- L2范数归一化
- L2范数归一化
- matlab 矩阵按列按行归一化
- L1范数和L2范数的区别
- MATLAB中对一个矩阵的行(列)归一化为二范数是1的简洁代码:一句实现
- 范数、L1范数和L2范数的基本概念
- Matlab中矩阵的归一化和正交化函数
- 向量范数和矩阵范数的定义
- 向量范数和矩阵范数的定义
- 【转】常见向量范数和矩阵范数
- Matlab与线性代数 -- 矩阵的范数
- 向量和矩阵的范数
- 向量和矩阵的范数
- MATLAB数据归一化汇总(最全面的归一化介绍)
- 将任意矩阵归一化到任意区间,和反归一化
- Android Binder分析五:Java service的获取和调用
- A20 freeAllBuffersLocked called but mQueue is not empty 问题
- [Oracle] 表的连接
- linux 进程的挂起和恢复
- 微信公众平台开发入门教程(图文详解)
- [转]矩阵按列按行归一化到L2范数的原理和最精简Matlab代码
- HttpModule的认识
- java之httpclient的一些破事
- 怎样给Oracle 数据库的表加触发器: how to add trigger for Oracle Database table
- java 彻底理解 byte char short int float long double
- Windows下安装node-inspector时报错
- 给程序员介绍一些C++开源库
- 任务栈
- 婚礼策划企业CSS3网站模板