Matlab中具有不同激活函数的感知器

Matlab中具有不同激活函数的感知器,matlab,neural-network,artificial-intelligence,perceptron,Matlab,Neural Network,Artificial Intelligence,Perceptron,我要学习神经网络是如何工作的。让我明确一点:我不想使用任何内置函数。根据我的理解,我想从一开始就建立一个自己的感知机。例如,我根据此示意图构建了一个感知器: 除神经元6和7外,所有神经元都具有识别功能。这两个神经元应该具有逻辑功能1/(1+e^(-x))。神经元1直接连接到6,神经元2直接连接到输出神经元8 我现在的问题是如何实施这一特殊情况。当所有神经元都是恒等式时,我在C中得到正确的值。但是如果我想在6和7上实现逻辑函数,我会得到错误的值 是否有可能找到一个通用算法来覆盖这些特殊情况?(不

我要学习神经网络是如何工作的。让我明确一点:我不想使用任何内置函数。根据我的理解,我想从一开始就建立一个自己的感知机。例如,我根据此示意图构建了一个感知器:

除神经元6和7外,所有神经元都具有识别功能。这两个神经元应该具有逻辑功能1/(1+e^(-x))。神经元1直接连接到6,神经元2直接连接到输出神经元8

我现在的问题是如何实施这一特殊情况。当所有神经元都是恒等式时,我在C中得到正确的值。但是如果我想在6和7上实现逻辑函数,我会得到错误的值

是否有可能找到一个通用算法来覆盖这些特殊情况?(不同的激活功能、跨层跳转、反馈)

我喜欢它尽可能的具有一般性和数学性。应避免采取变通办法

守则:

clear;
% Input Layer
o1 = 1;
o2 = 1;
o3 = 1;

% Hidden Layer
o4 = 0;
o5 = 0;
o6 = 0;
o7 = 0;

% Output Layer
o8 = 0;

% Init the Inputvektor:
O = [o1,o2,o3,o4,o5,o6,o7,o8];
C = 0;

% Weight Matrix:

     % 1 2 3 4 5 6 7 8
  W = [0,0,0,1,1,1,0,0; % 1
      0,0,0,1,1,0,0,1 ; % 2  
      0,0,0,1,1,0,0,0 ; % 3
      0,0,0,0,0,1,1,0 ; % 4
      0,0,0,0,0,1,1,0 ; % 5
      0,0,0,0,0,0,0,1 ; % 6
      0,0,0,0,0,0,0,1 ; % 7
      0,0,0,0,0,0,0,0]; % 8

% 3 Layer = 3 Iterations:

for c = 0:2

% Calculate Outputvektor (t+1):
A = O*W;

% Assing new Input vektor:
O = A;

% This seems not correct:
% I want to have Identityfunctions on all Neurons except on Neurons 6 and 7
% However I do not get the correct solutions at the end
O(6) = 1/(1+exp(-O(6)));
O(7) = 1/(1+exp(-O(7)));

% Result of the whole Net:
C = C + O
end

对于那些感兴趣的人,我自己找到了解决方案:

clear;
% Input Layer
o1 = 0.1;
o2 = 0.1;
o3 = 0.1;

% Hidden Layer
o4 = 0;
o5 = 0;
o6 = 0;
o7 = 0;

% Output Layer
o8 = 0;

Org = [o1,o2,o3,o4,o5,o6,o7,o8];
O = Org;
C = 0;


   % 1 2 3 4 5 6 7 8
W = [0,0,0,1,1,1,0,0; % 1
    0,0,0,1,1,0,0,1 ; % 2  
    0,0,0,1,1,0,0,0 ; % 3
    0,0,0,0,0,1,1,0 ; % 4
    0,0,0,0,0,1,1,0 ; % 5
    0,0,0,0,0,0,0,1 ; % 6
    0,0,0,0,0,0,0,1 ; % 7
    0,0,0,0,0,0,0,0]; % 8

for c = 0:2

 A = O*W;

 O = A;

 O(6) = 1/(1+exp(-1*O(6)));
 O(7) = 1/(1+exp(-1*O(7)));

  % THIS IS THE SOLUTION:
  O = O + Org
end