数据正规化(data normalization)的原理及实现(numpy) 您所在的位置:网站首页 正规化和规范化是一个意思吗 数据正规化(data normalization)的原理及实现(numpy)

数据正规化(data normalization)的原理及实现(numpy)

2023-12-15 00:46| 来源: 网络整理| 查看: 265

原理

数据正规化(data normalization)是将数据的每个样本(向量)变换为单位范数的向量,各样本之间是相互独立的.其实际上,是对向量中的每个分量值除以正规化因子.常用的正规化因子有 L1, L2 和 Max.假设,对长度为 n 的向量,其正规化因子 z 的计算公式,如下所示:

注意:Max 与无穷范数  不同,无穷范数 是需要先对向量的所有分量取绝对值,然后取其中的最大值;而 Max 是向量中的最大分量值,不需要取绝对值的操作.

补充:一阶范数也称为曼哈顿距离(Manhanttan distance)或街区距离;二阶范数也称为欧式距离(Euclidean distance)

 

实现

利用numpy的linalg.norm实现

linalg = linear algebra,norm就是范数的意思。

函数调用  x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)  参数:  x:表示矩阵  axis:处理类型  axis=1表示按行向量处理,求多个行向量的范数  axis=0表示按列向量处理,求多个列向量的范数  axis=None表示矩阵范数

keepding:是否保持矩阵的二维特性。True表示保持矩阵的二维特性,False相反

def normalizeRows(x): """ Implement a function that normalizes each row of the matrix x (to have unit length). Argument: x -- A numpy matrix of shape (n, m) Returns: x -- The normalized (by row) numpy matrix. You are allowed to modify x. """ ### START CODE HERE ### (≈ 2 lines of code) # Compute x_norm as the norm 2 of x. Use np.linalg.norm(..., ord = 2, axis = ..., keepdims = True) x_norm = np.linalg.norm(x, axis = 1, keepdims = True) # Divide x by its norm. x = x / x_norm ### END CODE HERE ### return x

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有