“通过向量的最大值对向量进行归一化”是啥意思?
Posted
技术标签:
【中文标题】“通过向量的最大值对向量进行归一化”是啥意思?【英文标题】:What does it mean that " normalize a vector by the maximal value of it"?“通过向量的最大值对向量进行归一化”是什么意思? 【发布时间】:2015-03-07 07:21:37 【问题描述】:假设有一个向量 H ,剂量“通过它的最大值对向量进行归一化”意味着 H/max(H)? H 中的每个元素除以 H 的最大值?
【问题讨论】:
【参考方案1】:您将向量的每个元素除以向量的最大值,这样如果存在负值,每个值都落在[0, 1]
或[-1, 1]
范围内。它通常用于与统计相关的东西。
你是对的,它是H / max(H)
,如果你要处理超过 1 个维度(如二维数组),它是
H / max(H(:))
编辑:正如 MHH 在 cmets 中指出的那样,如果您的任何值为负数,则除以 max(abs(H))
。
【讨论】:
这是假设所有值都是正数。如果向量有负值,通常你会做 H/max(abs(H)) 如果向量全为零或恰好包含Inf
或NaN
,请小心。
感谢您的回答,真的很有帮助!
为了避免0/0(如果整个向量为零),最好是(H/(max(abs(H))+eps))
。
@ParagSChandakkar:这可行,但我认为没有必要在某些情况下引入小的数值偏差,以便能够将所有内容放在一行代码中。我认为更好的方法是:v=H/max(abs(H(:)));
v(isnan(v))=0;
。如果向量包含Inf
,您可能仍然需要一个案例 - 并根据无穷大表示的内容确定在这种情况下您希望如何规范化。以上是关于“通过向量的最大值对向量进行归一化”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章