机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA
原文地址:https://www.jianshu.com/p/ed0aee74523f
一、Perceptron Learning Algorithm
(一)算法原理
PLA本质是二元线性分类算法,即用一条线/一个面/一个超平面将1、2维/3维/4维及以上数据集根据标签的不同一分为二。算法确定后,根据\(W\)取值的不同形成不同的\(h\),构成假设集合\(H\)。如2维感知器算法,根据\(w_0\),\(w_1\),\(w_2\)的不同取值,构成了不同的\(h\),这些\(h\)最终构成\(H\)。为了方便表示,将阈值的相反数记为\(w_0\),对应的数据点增加一维\(x_0\),恒为1。算法就是根据给定数据集\(D\)从\(H\)中选出与目标模式\(f\)最为相似的\(g\)。
(二)更新规则/学习过程
遍历数据集合,若遇到异常点,即由当前\(W\)更新为新的\(W\)。
若异常点的\(y\)值为+1,表明\(X\)与当前\(W\)的内积值为负,角度过大,更新后角度将会变小;若异常点的\(y\)值为-1,表明\(X\)与当前\(W\)的内积值为正,角度过小,更新后角度将会变大。
更新\(W\)的本质其实是从\(H\)中选出与\(f\)更为相似的\(h\)的过程。
更新后不能保证异常点变为正常点,只是异常的程度小了点。
(三)停止更新
在当前\(W\)的情况下,遍历\(D\)中所有数据点,无异常点时停止更新。
然而一定能够保证能停止更新吗?即在当前W下无法找到一个新的W使得对应的h与f更为接近?
答案是只要数据线性可分就能!
\(W_f\)与\(W_t\)的内积值随着更新次数的上升而增大,同时,\(W_t\)的模也在增大。不过,内积增大的程度往往大于模增大的程度,保证了随着更新次数的上升,\(W_t\)与\(W_f\)趋于越来越接近。
(四)PLA的优缺点
优点:简单、快速、任意维度;
缺点:假设数据线性可分,然而我们并不知道\(f\),也就不知道是否可分。再来,要是知道线性可分,\(W\)也已经知道了,没有必要再用PLA了;经过多少次更新才能收敛也不知道,如上证明,\(T\)与\(W_f\)有关,然而我们不知道\(W_f\)。
二、Pocket Algorithm
若数据线性不可分,使用PA,即既然异常点无法避免,PA在\(H\)中找到一个使得异常点数目最小的\(h\)作为\(g\)。
NP问题:\(O(n^k)\)为多项式型时间复杂度,\(O(k^n)/O(n!)/O(>\!n!)/...\)为指数型时间复杂度。问题分为可解问题和不可解问题,多项式型时间复杂度的可解问题为P问题,验证时为多项式型时间复杂度的问题为NP问题,能否可解未知。P问题肯定是NP问题,NP问题不一定是P问题。
PA,初始化\(W\),放到口袋里,若遇到异常点,使用PLA的更新规则得到新的\(W\),遍历数据集,若是新的\(W\)下异常点的数目更少,则用新的\(W\)替换旧的\(W\)放到口袋中,否则不替换。继续遍历数据集,得到下一个异常点,重复上述过程至足够迭代次数。口袋里放的永远是目前使得异常点最少的\(W\)。
PA不影响PLA的正常运行,只是从历史\(W\)中挑出使得样本内分类错误最少的\(W\)作为最终返回值。
如果数据集是线性可分的,PLA和PA都能够实现\(D\)内无异常点的分类,但是PA的时间会长于PLA,因为多了比较两个不同的\(W\)下遍历一轮数据所得异常点数目多少的过程。
机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA的更多相关文章
- 林轩田机器学习基石笔记2—Learning to Answer Yes/No
机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...
- 机器学习基石:02 Learning to Answer Yes/No
Perceptron Learning Algorithm 感知器算法, 本质是二元线性分类算法,即用一条线/一个面/一个超平面将1,2维/3维/4维及以上数据集根据标签的不同一分为二. 算法确定后, ...
- 机器学习基石 1 The Learning Problem
机器学习基石 1 The Learning Problem Introduction 什么是机器学习 机器学习是计算机通过数据和计算获得一定技巧的过程. 为什么需要机器学习 1 人无法获取数据或者数据 ...
- 林轩田机器学习基石笔记3—Types of Learning
上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...
- 机器学习基石笔记:01 The Learning Problem
原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...
- 林轩田机器学习基石笔记4—Feasibility of Learning
上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...
- 林轩田机器学习基石笔记1—The Learning Problem
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Lear ...
- 机器学习基石笔记:04 Feasibility of Learning
原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近 ...
- 机器学习基石笔记:03 Types of Learning
原文地址:https://www.jianshu.com/p/86b2a9cef742 一.学习的分类 根据输出空间\(Y\):分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据 ...
随机推荐
- redis---安装和开启和关闭
转redis---安装和开启和关闭 http://blog.csdn.net/xing_____/article/details/38457463 系统:centos6.4 redis下载:http: ...
- LD的-rpath,-rpath-link
http://blog.chinaunix.net/uid-24709751-id-3563351.html http://songzhangzhang.blog.163.com/blog/stati ...
- 【Selenium】【BugList1】调用firefox浏览器,报 TypeError: 'module' object is not callable
#coding=utf-8 from selenium import webdriver driver=webdriver.firefox() 解决方法:firefox改为Firefox
- mysql自定义时间段分组
说明:一下是自定义7天为一个时间段的分组统计 select datediff(ms_time, '开始时间') div 7 as time , count(*) count,sum(money) mo ...
- oracle BLOG图片和CLOG base64码的转换
--BASE64转图片CREATE OR REPLACE FUNCTION DECODE_BASE64(P_CLOB_IN IN CLOB) RETURN BLOB IS V_BLOB BLOB; V ...
- Django之发送邮件
Django的发送邮件是基于django的一个组件进行操作的,EmailMessage 基本使用方法: def send_html_mail(subject, html_content, from_a ...
- Java平台
Java的平台无关性 不同的网络环境,操作系统 支持嵌入式设备 减少开发部署时间 Java自身的平台和语言 编译成class文件 可在Java虚拟机中运行,与外部环境无关(对虚拟机的依赖) 通过外部A ...
- python 文件与数据格式化
https://www.cnblogs.com/li-zhi-qiang/p/9269453.html 文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...
- 再谈docker基本命令
子曰,温故而知新 今日,再次看书之际,又寻得docker的几条使用命令,用小本本记下来 配置docker镜像源 当我们在拉去一些共有镜像时,默认,docker会向docker.io去获取,如果在拉取的 ...
- Charles配置抓取HTTPS请求的Android配置
关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题. Charles抓包正常流程1.在手机上配置证书 点击后:直接在 ...