【问题标题】:What's the meaning of max ([max(A) max(B)]) in MATLAB?MATLAB中max([max(A)max(B)])是什么意思?
【发布时间】:2017-02-23 00:26:55
【问题描述】:

我在 Matlab 中有一段神经网络的代码:

p = randint(a); 

p1 = p(1:10,:); 
p2 = p(11:20,:); 

d1 = max([max(p1(:,1)) max(p2(:,1))]);
d2 = max([max(p1(:,2)) max(p2(:,2))]);
d3 = max([max(p1(:,3)) max(p2(:,3))]);

input1 = [p1(:,1)'/d1; p1(:,2)'/d2; p1(:,3)'/d3]; 

我想知道这里的“d”和“input1”是什么意思?

【问题讨论】:

    标签: matlab matrix neural-network max


    【解决方案1】:

    慢慢分解。执行max(p1(:,1)) 会在p1 的第一列中找到最大值。执行max(p2(:,1)) 会在p2 的第一列中找到最大值。它们都将返回一个值。接下来,如果您使用这两个数字封装 max 调用:max([max(p1(:,1) max(p2(:,1)]); 这将找到这两个数字之间的最大值。

    从逻辑上讲,d1 将在p1p2 的第一列之间找到整体上的最大值。 d2d3 做同样的事情,但是关于 p1p2 的第二和第三列。

    input1 我想这是定义属于p1 前三列的输入特征的粗略方法,并确保这些值分别落在[0,1] 的每一列p1 的范围内。我不知道他们为什么要考虑p2,因为他们只是为p1 这样做,但看起来这是某种规范化步骤,作为在之前预处理输入数据的一种手段训练。

    【讨论】:

    • 非常感谢。
    • "p" 是一个 20 行的矩阵,它分为两组,"p1" 作为神经网络的输入,"p2" 作为在其上测试神经网络的样本,将结果与目标进行比较。根据您提到的规范化,模拟输出应该是一列具有十进制值,但输出只是(0,1)之间的分数。我该如何解决这个问题?
    • 仔细阅读我的答案....它说这些值落在 0 和 1 的范围内。这并不意味着它们只取 0 和 1 的值。跨度>
    • 是的,我明白这一点,我的意思是可以在训练后对归一化值进行一些数学处理,以返回接近目标值的十进制值吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多