用R实现一个简单的感知机
来源:互联网 发布:网络推广报价方案 编辑:程序博客网 时间:2024/05/21 10:35
1. 感知机模型
定义:假设输入空间(特征空间)是
称为感知机。其中,
2.感知机学习算法
yi
yiyi
yi
输入:训练数据集
输出:
(1)选取初值
(2)在训练集中选取数据
(3)如果
yi
yi
w <- w + eta * y[i] * x[i,]
b <- b + eta * y[i]
其中eta表示计算误差(实际值-计算输出值)yi
yietayi
yieta表示计算误差(实际值-计算输出值)
yiyiyiyiyi
(4)转至(2),直至训练集中没有误分类点。
yi
yi
yi
yi
percept <- function(data = data,eta = eta ){
x <- data[,-3]
y <- data[,3]
w <- c(1,-1)
b <- 0
len <- length(y)
i <- 1
while(i <= len){
if(y[i] * (x[1]* w[1]+x[2]*w[2] + b) <= 0){
## update w and b
w[1] <- w[1] + eta * x[1]
w[2] <- w[2] + eta * x[2]
b <- b + eta
i <- 1 ##important, for traversing every point
}
else{
i <- i + 1
}
}
return(list(w=w,b=b))
}
yi
yi
yi
yi
data<-matrix(c(1 ,1 ,1 ),nrow = 1, ncol = 3,byrow=T)
yi
yi
yi
yi
> data
[,1] [,2] [,3]
[1,] 1 1 1
说明一下数据含义,第一列代表颜色,1为红,-1为黄,第二列代表形状,1为圆形,-1为弯形,第三列为输出,代表水果的种类,1为苹果,-1为香蕉,本文中的感知器实现了简单的分辨香蕉与苹果的功能,该案例出自吴岸城编的神经网络与深度学习。
yi
yi percept(data,1)
yiyi
$w
[1] 2 0
$b
[1] 1
即输出了感知机的s函数:s=2*p1+1
这时我们来尝试判断一下香蕉:
s=2*-1+1=-1
sign(s)=-1
香蕉判断也正确,误差为0,学习结束
- 用R实现一个简单的感知机
- 一个多层感知机C++的简单实现
- 感知机及其R实现
- 用python实现简单感知机算法
- 感知机——R实现
- MATLAB 感知机简单实现
- 使用Python来编写一个简单的感知机
- 感知机学习算法的简单实现(Python)
- matlab实现简单的感知器分类
- 使用R实现一个简单的连续系统模拟
- R的一个简单例子
- 感知机的matlab实现
- 感知机的java实现
- 感知机的 python 实现
- #感知机的Python实现
- 用R简单实现分词
- 感知机学习算法的原始形式的java简单实现
- 用keras搭建一个简单多层感知器MLP
- aspectj
- Linux设备驱动模型4——平台总线实践
- Java经典设计模式之七大结构型模式(附实例和详解)
- 将博客搬至CSDN
- 51Nod1116 K进制下的大数(思维)
- 用R实现一个简单的感知机
- poj2388Who's in the Middle(快速排序)
- [bzoj1057][ZJOI2007]棋盘制作
- Spring入门(二)——理解spring的AOP编程
- 第二十二讲项目1-翻转数组
- 【阶段小结】库房管理需求敲定
- ACM-并查集- How Many Tables-HDU
- Java经典设计模式之十一种行为型模式(附实例和详解)
- Android使用友盟集成QQ、微信、微博等第三方登录