?? genlsdata.html
字號:
<html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>genlsdata.m</title><link rel="stylesheet" type="text/css" href="../../m-syntax.css"></head><body><code><span class=defun_kw>function</span> <span class=defun_out>[data,model] </span>= <span class=defun_name>genlsdata</span>(<span class=defun_in> dim, num_data, margin </span>)<br><span class=h1>% GENLSDATA Generates linearly separable binary data.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Synopsis:</span></span><br><span class=help>% data = genlsdata(dim,num_data,margin)</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Description:</span></span><br><span class=help>% It generates randomly binary labeled vectors which </span><br><span class=help>% are linearly separable with prescribed margin. </span><br><span class=help>% </span><br><span class=help>% <span class=help_field>Input:</span></span><br><span class=help>% dim [1x1] Data dimension.</span><br><span class=help>% num_data [1x1] Number of generated data.</span><br><span class=help>% margin [1x1] Minimal ensured margin (distance of the closest</span><br><span class=help>% vector to the separating hyperplane).</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Output:</span></span><br><span class=help>% data [struct] Generated data:</span><br><span class=help>% .X [dim x num_data] Sample data.</span><br><span class=help>% .y [1 x num_data] Data labels (1 or 2).</span><br><span class=help>%</span><br><span class=help>% model [struct] Ground truth linear classifier:</span><br><span class=help>% .W [dim x 1] Normal vector of separating hyperplane.</span><br><span class=help>% .b [1x1] Bias of the hyperplane.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Example:</span></span><br><span class=help>% data = genlsdata(2,50,1);</span><br><span class=help>% model = ekozinec( data );</span><br><span class=help>% model.margin</span><br><span class=help>% figure; ppatterns(data); pline(model);</span><br><span class=help>%</span><br><span class=help>% See also </span><br><span class=help>% PERCEPTRON, EKOZINEC, LINCLASS, SVM.</span><br><span class=help>%</span><br><hr><span class=help1>% <span class=help1_field>About:</span> Statistical Pattern Recognition Toolbox</span><br><span class=help1>% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac</span><br><span class=help1>% <a href="http://www.cvut.cz">Czech Technical University Prague</a></span><br><span class=help1>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a></span><br><span class=help1>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a></span><br><br><span class=help1>% <span class=help1_field>Modifications:</span></span><br><span class=help1>% 3-may-2004, VF</span><br><span class=help1>% 16-Feb-2003, VF</span><br><span class=help1>% 26-feb-2001 V.Franc</span><br><br><hr>data.X = 2*rand(dim, num_data )-1;<br><span class=keyword>if</span> <span class=stack>nargin</span> == 3,<br> data.X = data.X*margin*10;<br><span class=keyword>end</span><br><br>model.W = 2*rand(dim,1)-1;<br>model.b = 0;<br>data.y = linclass(data.X,model);<br>model.b = rand(1);<br>data.X = data.X - model.b/sum(model.W);<br><br><span class=keyword>if</span> <span class=stack>nargin</span> ==3,<br><br> inx1 = find(data.y == 1);<br> proj1 = (model.W'*data.X(:,inx1) + model.b)/norm(model.W);<br> shift1 = max([ones(1,length(inx1))*margin ; proj1]) - proj1;<br> data.X(:,inx1) = data.X(:,inx1) + ...<br> (model.W*ones(1,length(inx1))/norm(model.W)).*(ones(dim,1)*shift1);<br><br> inx2 = find(data.y == 2);<br> proj2 = -(model.W'*data.X(:,inx2) + model.b)/norm(model.W);<br> shift2 = max([ones(1,length(inx2))*margin ; proj2]) - proj2;<br> data.X(:,inx2) = data.X(:,inx2) - ...<br> (model.W*ones(1,length(inx2))/norm(model.W)).*(ones(dim,1)*shift2);<br><span class=keyword>end</span><br><br><span class=jump>return</span>;<br><br></code>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -