【问题标题】: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 的最大值?

【问题讨论】:

    标签: matlab normalization


    【解决方案1】:

    您将向量的每个元素除以向量的最大值,这样如果存在负值,每个值都落在[0, 1][-1, 1] 范围内。它通常用于与统计相关的东西。

    你是对的,它是H / max(H),如果你要处理超过 1 个维度(如二维数组),它是 H / max(H(:))

    编辑:正如 MHH 在 cmets 中指出的那样,如果您的任何值为负数,则除以 max(abs(H))

    【讨论】:

    • 这是假设所有值都是正数。如果向量有负值,通常你会做 H/max(abs(H))
    • 如果向量全为零或恰好包含InfNaN,请小心。
    • 感谢您的回答,真的很有帮助!
    • 为了避免0/0(如果整个向量为零),最好是(H/(max(abs(H))+eps))
    • @ParagSChandakkar:这可行,但我认为没有必要在某些情况下引入小的数值偏差,以便能够将所有内容放在一行代码中。我认为更好的方法是:v=H/max(abs(H(:)));v(isnan(v))=0;。如果向量包含Inf,您可能仍然需要一个案例 - 并根据无穷大表示的内容确定在这种情况下您希望如何规范化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    相关资源
    最近更新 更多