首页 > 编程知识 正文

以下有关特征数据归一化的说法错误的是,参数归一化处理

时间:2023-05-04 11:31:00 阅读:275821 作者:1213

结论

        需要按照特征值分别求取均值和方差,然后再做零均值和归一化方差处理。

原因

        在学习《吴恩达·深度学习》第二门课 1.9 归一化输入时,遇到一个问题。视频里说均值和都是一个向量。但我不是很理解到底是不是按照特征值分别求取,再分别放缩。

        群里老兄点拨,假设对整个矩阵求均值和方差,再减去和除以,可能会导致原来比较小的值近似为0。不符合归一化输入处理的目的。因此需要按特征值分别求取。

视频笔记:

1.9 归一化输入(Normalizing inputs)http://www.ai-start.com/dl2017/html/lesson2-week1.html#header-n227http://www.ai-start.com/dl2017/html/lesson2-week1.html#header-n227

编码 import numpy as np# 对传入数据进行归一化处理# data的shape应该是(x,m),其中x是特征值的个数,m是样本数量def normalizing(data: np.ndarray): # m = 样本数量 m = data.shape[1] # 1.零均值:对每一个特征值分别求均值 u = (1 / m) * data.sum(axis=1, keepdims=True) cache = data - u # 2.归一化方差:注意,是先平方再求和,这是为了避免如[-1,0,1]数据造成求和为0,之后产生除以0 delta_double = (1 / m) * (cache ** 2).sum(axis=1, keepdims=True) cache = cache / delta_double return cacheif __name__ == '__main__': # 输入的数组 shape=(2,3) arr = np.array([[1, 2, 3], [4, 5, 6]]) print(normalizing(data=arr))

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。