PLA算法详解及实现(R语言)
来源:互联网 发布:淘宝商品购物车加不了 编辑:程序博客网 时间:2024/06/07 03:49
博主发现之前写的博客都是偏程序方面,而较少涉及数学或算法方面的东西,其实无论什么软件工具,最终都是为了更好地给理论铺路搭桥,所以我觉得不应该就某个程序贴个博客,而是在实际算法研究中,将理论描述清晰,再通过工具实现,两个结合。
算法具体如下:
可以通过如下:
也许你会问,为什么这样通过修改W最后一定会收敛?或者换个说法,为什么通过这样不断地变化W参数,最后一定会有一条直线能将样本较好地分开呢?
其中我们上文以及假设是正确的分类线,那么意味式(2)中,
则算法在每次迭代修改W时,,那么从向量内积的角度来看,这意味着两个向量越来越靠近。
下面我会证明其实在W参数学习的过程中其单位长度在不断变小:
其中我们已经知道和符号相异,那么
则在W自主学习的过程中,其模越来越小,而上述式(2)我们证明了越来越大,那么综合只有当向量和的角度越来越小时,式(2)才会成立,所以我们证明了自主学习,W会朝着越来越正确的方向变动(即使有时候这种变动我们察觉不出)。
下面是算法的实现(R语言)
#加载ggplot2包
library(ggplot2)
library(plyr)
#PLA数据,取R自带数据集iris,确保直线下方数据标签为-1
#PLA函数,x表示样本数据,y为对应类别,initial为w初始值,delta为相对误差率
PLA <- function(x,y,initial,delta){
}
w <- PLA(x=pladata[,1:2],y=pladata[,3],initial=c(1,0,0),delta=0)
#分类结果展示:
names(w) <- NULL
ggplot(data=pladata,aes(x1,x2,col=factor(y)))+
geom_point()+
geom_abline(aes(intercept=(-w[1]/w[3]),slope=(-w[2]/w[3])))
- PLA算法详解及实现(R语言)
- 感知机算法原理(PLA原理)及 Python 实现
- KNN算法及R语言实现
- PageRank算法解析及R语言实现
- PLA算法python实现
- MATLAB实现PLA算法
- Python实现PLA算法
- 机器学习基石PLA算法c++语言实现
- PLA算法的C++实现
- 机器学习算法(一)——关联规则Apriori算法及R语言实现方法
- 机器学习算法(二)——决策树分类算法及R语言实现方法
- 机器学习算法(三)——朴素贝叶斯算法及R语言实现方法
- 机器学习中的EM算法详解及R语言实例(1)
- 机器学习中的EM算法详解及R语言实例(2)
- 【聚类分析】Kmeans算法理解及R语言实现
- 随机森林算法介绍及R语言实现
- RSA算法详解及C语言实现
- RSA算法详解及C语言实现
- JavaWeb_MyBatis快速应用
- 重载运算符的规则
- ps -ef输出结果的具体含义
- hdoj1065 I Think I Need a Houseboat(简单题)
- opencv
- PLA算法详解及实现(R语言)
- 2017.6.6 毕业论文答辩 被怼了个爽
- MTK 平台 CABC 背光控制机制
- JMS—事务管理
- VPS安全之禁用root SSH登录
- 113 C语言共用体(Union)
- 25.活动的4种状态
- php小白3
- 5个最优秀的Java和C#代码转换工具