感知器代码说明

时间:2016-12-26 17:22:03

标签: neural-network perceptron

以下代码中发生了什么?

function [ errors sepplane ] = perceptron ( pclass , nclass)
    sepplane = rand ( 1 , columns ( pclass ) + 1 ) - 0.5;
    tset = [   ones ( rows ( pclass ), 1 )  pclass ; 
             - ones ( rows ( nclass ), 1 ) -nclass 
           ];
    i = 1;
    do
        misind = tset * sepplane ' < 0;
        correction = sum ( tset ( misind , :), 1 ) / sqrt ( i );
        sepplane = sepplane + correction;
        ++ i;
    until ( norm ( sepplane ) * 0.0005 ) - norm ( correction ) > 0 || i > 1000;

    errors = mean ( tset * sepplane ' < 0);
    dzeros = tvec ( tlab == 1 , :);
    dones = tvec ( tlab == 2 , :);
    perceptron ( dzeros , dones)
end

(0)为什么此代码与this one如此截然不同?

(1)为什么正面和负面的类别分别在第一位传递?那么进行分类有什么意义呢?

(2)什么是sepplane

(3)什么是misind

(4)计算correction的原因是什么?

1 个答案:

答案 0 :(得分:1)

(0)为什么这个代码与另一个代码如此截然不同?

这种感知器可以修改为多级。另一种是严格的二元分类。

(1)为什么正面和负面的类别分别在第一位传递?那么进行分类有什么意义呢?

这是感知器的训练步骤,所以你需要正面和负面的例子来学习权重

(2)什么是<header class="site-header navbar navbar-default"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Your Site Name</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="/" class=" site-header-nav-item hvr-underline-from-center" target="" title="Home"> Home </a></li> <li><a href="/" class=" site-header-nav-item hvr-underline-from-center" target="" title="About"> About </a></li> <li><a href="/" class=" site-header-nav-item hvr-underline-from-center" target="" title="Contact"> Contact </a></li> </ul> </div> </div> </header>

感知器学习的分离超平面。

(3)什么是sepplane

如果示例被正确分类则为1,否则为-1。

(4)计算修正的理由是什么?

如果我对一个例子进行错误分类,我想调整权重,以便下次通过感知器运行它时,它将被正确分类。