技术标签: 机器学习
1. 用感知器实现2分类
2. 并画出决策面
3. 画出不同weight初始值下的决策面、打乱样本顺序的决策面
clear;
%load data
data = load('toydata.mat');
X = data.X';
y = data.label';
m = length(y);
lr = 1;
%打乱样本顺序
rowrank = randperm(size(X, 1));
X=X(rowrank',:);
y=y(rowrank',:);
%权重初始化
theta=rand(3,1);
%w = [0;0];
%b = 0;
w = theta(1:2);
b = theta(3);
h = Perceptron(X, w, b, m);
%train
for k = 1:m
[w,b]= grad(X, y, lr, w, b);
h = Perceptron(X, w, b, m);
end
%plot data
pos = find(y==1); neg = find(y ==-1);
hold on;
plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y', 'MarkerSize', 7);
%plot decision boundary
plot_x = [min(X(:,1))-1 , max(X(:,1))+1];
plot_y = (-1./w(2)).*(w(1).*plot_x+b);
plot(plot_x, plot_y);
legend('y==1', 'y==-1');
%grad_update
function [w,b] =grad(X, y, lr, w, b)
m = length(y);
for k = 1:m
temp = (X(k,:)*w+b)*y(k);
while temp<=0
w = w + lr*(X(k,:)*y(k) )';
b = b + lr*y(k);
temp = (X(k,:)*w+b)*y(k);
end
end
end
(1)w,b初始值为0:
(2)W,b的值为随机初始化的10个:
(3)打乱样本顺序10次:
(4)以不同w和b的10次结果为基础计算:
w平均值为:-1.9352 -2.7876
b平均值为:16.0083
(5)以样本打乱基础计算
w的平均值-3.2140 -2.5044
b的 20.3000
关于感知器算法,是一个很依赖训练样本的算法。具体实现方式为,设 f =wx+b ,label为y,当每一个样本 f(i)*y(i)<=0时,就更新w和b,更新值为 w = w + lr*x(i)*y(i) ; b = b + lr*y(i);直到所有样本都满足 f(i)*y(i)>0时停止。
所以感知器算法结果不唯一,但算法收敛。
当有离群点时,会影响感知器算法的好坏。如下图中加入离群点后出现决策失误的超平面。
关于核感知器的一些参考:
文章浏览阅读2.7w次,点赞4次,收藏6次。多种方法让你在Windows上优雅的使用iCloud服务我平时习惯使用 日历、待办事项+2Do 等App,而在Windows上无法使用它们。 由于我爱好各种大型单机游戏,所以短时间内不会选择更换MacBook。于是我打起了iCloud的主意,希望能在Windows下驯服它。_win7登录icloud浏览器不支持
文章浏览阅读2.6k次。1. 什么是JavaWeb服务器自己做的网页发布到JavaWeb服务器,其他人可以访问。WEB:代表网页的意识,许多的网页就组成了网站。WEB服务器:支持web访问服务的一个电脑。通常web服务器是指web服务端程序,一款软件,可以监听某个端口,等待其他浏览器来访问,把我们写好的页面内容发过去。JavaWeb:使用java程序开发的网站JavaWeb服务器:支持java语言的web服务器浏览器默认访问的端口是80 : www.baidu.com:80WEB就是基于网络的,遵循HTTP协议/H_tmactmon
文章浏览阅读4.6k次。用法:invoke GetModuleHandle,lpModuleName说明:获取模块句柄,就是程序装入内存的首地址。1) invoke GetModuleHandle,NULL :获取本模块句柄。2) szUserDll db ‘user32.dll’,0 invoke GetModuleHandle,ad_getmodulehandle
文章浏览阅读1.1w次。系统运行环境:win10TH1 1511软件版本:Soildworks2012sp3x64Solidworks 提示failed to create toolboxlibrary object的解决办法,亲试有效 1. 打开注册表编辑器,win+R,regedit; 2. 点开HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Wi_toolbox许可检出失败
文章浏览阅读3.2k次,点赞3次,收藏15次。背景、需求、选型可以看这里本篇文章是编码,上篇文章我们说到A服务的同学需要做的是:(1)在项目启动的时候,完成对calculate_rule表的读取,并构造 groovy 对应的xml格式(2)把构造好的xml,交给spring容器去管理,这样A服务里就可以拿到calculateParse接口的具体实现(3)当calculate_rule表中的计算代码有改动时,不需要重启A服务,只需要通过一个开关就可以refresh内存里的计算规则即可那下面我们把他一一实现:一、A服务里建表.._groovy 动态加载 mapper
文章浏览阅读3.6k次,点赞2次,收藏3次。根据大佬博客,集成的工具类:import com.alibaba.fastjson.JSON;import javax.servlet.http.HttpServletRequest;import java.io.IOException;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;public class HttpServletRequestUtils { /**_springboot 同时支持get post
文章浏览阅读5.6k次,点赞12次,收藏22次。一.首先连接服务器在powershell,gitbash或者vscode的命令行中输入命令:ssh 用户名@服务器IP地址二.安装conda//获取安装包wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh//安装anaconda base命令bash Anaconda3-5.0.1-Linux-x86_64.sh//添加环境变量echo 'export PATH="~/anacond._anaconda3-2021.11-linux-x86_64.sh: 516: syntax error: "(" unexpected (expect
文章浏览阅读171次。https://docs.jiguang.cn/jpush/client/Android/android_guide/在 module 的 gradle 中添加依赖和 AndroidManifest 的替换变量。android { ...... defaultConfig { applicationId "com.xxx.xxx" //JPush 上注册的...
文章浏览阅读254次。PREPARE stmt1 FROM ‘SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse‘;mysql> SET @a = 3;mysql> SET @b = 4;mysql> EXECUTE stmt1 USING @a, @b;+------------+| hypotenuse |+------------+| ..._mysql 预处理 com_stmt_prepare 值非常大
文章浏览阅读268次。文章转载自:http://www.cnblogs.com/wxishang1991/p/5662499.html_jdk 8u251 ubuntu 12.04
文章浏览阅读286次。Table lists the reserved keywords in Scala. Many are found in Java and they usually have the same meanings in both languages. Word Description abstract Makes a declaration abstract. case Sta_scala reserved word
文章浏览阅读1.3w次,点赞3次,收藏19次。上一篇博客Elastic-Job原理--服务器初始化、节点选举与通知(二)介绍了Elastic-Job的启动流程,这篇博客我们了解学习一下Elastic-Job的任务分片策略,目前提供了三种任务分片策略,分片策略的实现最终是在注册中心zk中在分片的instance中写入实例信息。目前Elastic-Job提供分片接口JobShardingStrategy:/** * 作业分片策略...._elasticjob怎么配置odevitysortbynamejobshardingstrategy