机器学习基石---第二周PLA
来源:互联网 发布:淘宝店铺处罚 编辑:程序博客网 时间:2024/06/08 19:27
knitr::opts_chunk$set(echo = TRUE)
台大《机器学习基石》第二周课的笔记,只整理部分重要内容。希望能把课上学的,做一个精简的记录。
变量说明
存在两类数据,标记为
迭代过程
PLA采取知错就改的策略。遍历所有样本,如果发现分类错误,采用如下方式如下方式更新
更新理由
判断类别的公式:
如果正类被误判,则
证明
证明线性可分数据集,PLA算法一定能够经过有限次的迭代,得到一个完美的分割超平面。
每一次迭代wt 更接近wf
1.
2.
3.
因为
利用任意一个错判样本
从余弦相似度的角度看,通过错判样本对
每一次迭代wt 的模增长较小
迭代次数有限
假设
所以迭代次数
案例
构造数据集
构造数据集,验证算法。
x11 <- 1:10x21 <- x11 + runif(10, 0, 1) + 3x22 <- x11 - runif(10, 0, 1)example_data <- data.frame(x1 = rep(x11, 2),x2 = c(x21, x22),label = rep(c(1, -1), each = 10))example_data$label <- as.factor(example_data$label)library(ggplot2)ggplot(data = example_data, aes(x = x1,y = x2,color = label,shape = label)) +geom_point()
PLA算法
求解
w_data <- PLA_f(dataset = example_data, label = "label")w_data
x0 x1 x2 slope intercept1 1 1 1.000000000 -1.0000000 -1.00000002 0 0 0.495471116 0.0000000 0.00000003 -1 -1 -0.009057768 -110.4024725 -110.40247254 0 0 4.912654036 0.0000000 0.00000005 -1 -1 4.408125152 0.2268538 0.22685386 -2 -2 3.903596268 0.5123481 0.51234817 -3 -4 1.915120282 2.0886417 1.56648128 -2 -1 8.363856425 0.1195621 0.23912419 -3 -2 7.859327541 0.2544747 0.381712010 -4 -4 5.870851555 0.6813322 0.681332211 -5 -9 1.747566727 5.1500179 2.861121112 -4 -8 6.669278532 1.1995300 0.5997650
动图
Ref
[1]课程PPT
2017-12-19于杭州
阅读全文
0 0
- 机器学习基石---第二周PLA
- 机器学习基石第一讲:PLA
- 机器学习基石 2.3 Guarantee of PLA
- 机器学习基石 2.4 More about PLA
- 机器学习基石作业一PLA算法
- 机器学习基石学习笔记(1)-PLA
- PLA(Perceptron Learning Algorithm)--机器学习基石笔记
- 机器学习基石PLA算法c++语言实现
- 机器学习基石 作业1 实现PLA和Pocket算法
- 林轩田机器学习基石——Guarantee of PLA
- PLA算法Java实现——机器学习基石
- 机器学习基石2-2 PLA(Perceptron Learning Algorithm)
- 机器学习基石2-3 Guarantee of PLA
- 机器学习基石 2.2 Perceptron Learning Algorithm (PLA)
- 机器学习基石-02-2-PLA何时停下来?
- 机器学习基石作业1-17-PLA 的c++实现
- 《机器学习基石》笔记:第二讲
- 台大林轩田《机器学习基石》学习笔记:线性模型一(PLA/pocket、Linearregression )
- linux0.11内核完全剖析
- JAVA 中BIO,NIO,AIO的理解
- 微信小程序—audio(音频)
- RequireJS的入门,基础用法
- Eclipse下svn的创建分支/合并/切换使用
- 机器学习基石---第二周PLA
- tensorflow API:tf.control_dependencies
- windows下mangodb的安装与配置
- shell脚本:使用if-then语句和test命令
- 设计模式-单例模式
- 大数据学习笔记(十三)-SparkStreaming
- JavaSE基础语法中的修饰符
- 你想要知道的XMind快捷键大全都在这里
- vue 时间戳转换器