"将向量归一化为其最大值"是什么意思?

3
假设有一个向量 H,"通过其最大值归一化向量"是否意味着将 H/max(H)?也就是将 H 中每个元素除以 H 的最大值?
1个回答

5
你需要将向量的每个元素除以向量的最大值,这样每个值都在[0, 1]或者[-1, 1](如果存在负值)范围内。这在统计相关的工作中很常见。
你是正确的,公式是H / max(H),如果你处理的是多维数组(如二维数组),则应该使用H / max(H(:))
编辑:正如MHH在评论中指出的那样,如果任何一个值为负数,则应该使用max(abs(H))来进行除法运算。

1
假设所有值都是正数。如果向量有负值,通常会执行H/max(abs(H))。 - WetlabStudent
1
如果向量全为零或包含“Inf”或“NaN”,请小心。 - horchler
谢谢您的回答,非常有帮助! - Vivian Lee
为避免0/0的情况(如果整个向量都为零),最好使用(H/(max(abs(H))+eps)) - Autonomous
@ParagSChandakkar:这样做是可行的,但我认为在某些情况下引入小的数值偏差并不必要,只是为了能够将所有内容放在一行代码中。我认为更好的方法是:v=H/max(abs(H(:))); v(isnan(v))=0;。如果向量包含Inf,您仍然可能需要一个特例-并根据无穷大表示的内容确定您希望如何进行归一化。 - horchler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接