会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Yao H. Wang
博客园
首页
新随笔
联系
订阅
管理
MATLAB 感知机简单实现
% Examples % -------- % lhs = [-1;1;-1]; % rhs = [1;1;-1]; % [w,b] = perceptron(lhs,rhs) function [w,b] = perceptron(lhs,rhs) % Author:Yao H. Wang % perceptron Summary of this function goes here % Detailed explanation goes here % w为要学习获得的权值。 % b为偏移量。 % flag用来判断两次学习之后权值是否改变,不改变则为0,默认为1。 % flaglhs用来判断第一个(lhs)输出结果和预期相一致(即t=a,此处为tlhs=1=alhs) % 当第二个(rhs)再次满足时,即将flag设为设置为0,退出循环, % 否则将flaglhs重新设置为0,继续循环。 w = [0.5,-1,-0.5]; b = 0.5; flag = 1; flaglhs = 0; % 循环学习获得w和b。 while flag % 对第一个(lhs)进行学习。 alhs = w * lhs + b; if(alhs < 0) alhs = 0; else alhs = 1; end if(1 == alhs) flaglhs = 1; else w = w + (1-alhs)*lhs'; b = b + (1-alhs); end % 对第二个(rhs)进行学习。 arhs = w * rhs + b; if(arhs < 0) arhs = 0; else arhs = 1; end if(0 == arhs) if(flaglhs == 1) flag = 0; end else if(flaglhs == 1) flaglhs = 0; end w = w + (0-arhs)*rhs'; b = b + (0-arhs); end end end
posted @
2011-11-29 12:08
Yao H. Wang
阅读(
1013
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
公告