matlab实现感知机算法--统计学习小灶
clear all;
clc;
%%
%算法
%输入:训练数据集T = {(x1,y1),(x2,y2),...,(xn,yn)};学习率η
%输出:w,b;感知机模型f(x) = sign(w*x+b)
%()选取初值w0,b0
%()在训练集中选取数据(xi,yi)
%()如果yi(w*xi+b)<=
% w = w+η*yi*xi
% b = b+ηyi
%()转至(),直至训练集中没有误分类点
%% %初始化
X = [ ; ; -];%训练集
[sn,fn] = size(X);
y = X(:,fn);%标签
X(:,fn) = [];
fn = fn-;
w = zeros(,);
b = ;
yta = ;%参数η
ok = ;
%%
%循环体
while(ok==)%%%不断的扫描直到所有的实例都满足无误分类点才结束
for i = :sn
if (y(i)*(w'*X(i,:)'+b)<=) w = w + yta*y(i)*X(i,:)'
b = b + yta*y(i)
else
if(i == sn) ok=;
break
end
end
end
end %%
%图示
figure()
plot(X(,:),X(,:),'r.')
hold on
plot(X(,:),'*') %样本
xmin=min(X(:,));
xmax=max(X(:,));
% ymin=min(X(:,));
% ymax=max(X(:,));
xindex=xmin-:(xmax-xmin)/:xmax+;
yindex=w()*xindex+w()*xindex+b;
plot(xindex,yindex)%分类面
matlab实现感知机算法--统计学习小灶的更多相关文章
- 关于统计变换(CT/MCT/RMCT)算法的学习和实现
原文地址http://blog.sina.com.cn/s/blog_684c8d630100turx.html 刚开会每周的例会,最讨厌开会了,不过为了能顺利毕业,只能忍了.闲话不多说了,下面把上周 ...
- 【StatLearn】统计学习中knn算法实验(2)
接着统计学习中knn算法实验(1)的内容 Problem: Explore the data before classification using summary statistics or vis ...
- 机器学习算法--Perceptron(感知机)算法
感知机: 假设输入空间是\(\chi\subseteq R^n\),输出空间是\(\gamma =\left( +1,-1\right)\).输入\(\chi\in X\)表示实例的特征向量,对应于输 ...
- 机器学习笔记(一)· 感知机算法 · 原理篇
这篇学习笔记强调几何直觉,同时也注重感知机算法内部的动机.限于篇幅,这里仅仅讨论了感知机的一般情形.损失函数的引入.工作原理.关于感知机的对偶形式和核感知机,会专门写另外一篇文章.关于感知机的实现代码 ...
- 感知机算法及BP神经网络
简介:感知机在1957年就已经提出,可以说是最为古老的分类方法之一了.是很多算法的鼻祖,比如说BP神经网络.虽然在今天看来它的分类模型在很多数时候泛化能力不强,但是它的原理却值得好好研究.先学好感知机 ...
- [译]针对科学数据处理的统计学习教程(scikit-learn教程2)
翻译:Tacey Wong 统计学习: 随着科学实验数据的迅速增长,机器学习成了一种越来越重要的技术.问题从构建一个预测函数将不同的观察数据联系起来,到将观测数据分类,或者从未标记数据中学习到一些结构 ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
- scikit-learning教程(二)统计学习科学数据处理的教程
统计学习:scikit学习中的设置和估计对象 数据集 Scikit学习处理来自以2D数组表示的一个或多个数据集的学习信息.它们可以被理解为多维观察的列表.我们说这些阵列的第一个轴是样本轴,而第二个轴是 ...
- 感知机算法(PLA)代码实现
目录 1. 引言 2. 载入库和数据处理 3. 感知机的原始形式 4. 感知机的对偶形式 5. 多分类情况-one vs. rest 6. 多分类情况-one vs. one 7. sklearn实现 ...
随机推荐
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- join用法
join命令可以将多个文件结合在一起,每个文件里的每条记录,都共享一个键值(key),键值指的是记录中的主字段,通常会是用户名称.个人姓氏.员工编号之类的数据. join - join lines o ...
- 循环调用MAIN
--单位转移录入declare oi_errcode integer; oc_errtext varchar2(100);begin for p in (select * from ssunitinf ...
- 【Lamp】 Linux 下安装PHP+Apache+Mysql 手记
[0]写在最前 由于准备实习原因,今天又重温了Lamp的搭建过程,之前一直是看燕十八老师2012年的教程学习,因此今天也是拿了十八哥的lamp搭建笔记作参考.但这次按照笔记重新搭建,发现了很多问题,由 ...
- Velocity(6)——#if指令
下面是#If指令的一个简单而完整的示例: #if ($foo < 10) Go North #elseif ($foo == 10) Go East #else Go West#end 不能漏掉 ...
- Java语言的特点
一. 面向对象:其实是现实世界模型的自然延伸.现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用.另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例.如果说传统的过程式 ...
- 我去,徒弟半夜来电让写一个PHP短信验证(和群发)
感觉很纳闷啊,,..好几天几乎通宵了,今晚本来以为有个早觉睡,居然2点多才打电话来让帮忙... 记得前段时间还有博友问过同类的问题.... 名字我就隐藏掉了,呵呵,, 我在网上随便找了一个提供相应接口 ...
- ionic 总结
希望大家都能有了好东西分享出来,单单就ionic来说,我是刚接触,现在用的人不是很多. 我认为如果大家能 有了好的东西或者好的方案 不藏着掖着,分享出来,那么我们的社区会更加活跃,用的人会越来越多,解 ...
- RCP:如何保存TaskList及如何获取TaskList
如果我们在Eclipse RCP程序中添加TaskList View,用来管理Task或者TODO项,如下代码: PlatformUI.getWorkbench().getActiveWorkbenc ...
- 灵活QinQ配置
华为交换机灵活QinQ配置列子 配置vlan2 为内层vlan vlan100 为外层vlan #用户端 Gi // qinq vlan-translation enable port hybrid ...