以下代码中发生了什么?
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
的原因是什么?
答案 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)计算修正的理由是什么?
如果我对一个例子进行错误分类,我想调整权重,以便下次通过感知器运行它时,它将被正确分类。