机器学习笔记一——感知机

笔记-感知机、超平面 1.感知机感知机是一种二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别{+1,-1}。感知机要求数据集是线性可分的。 按照统计学习三要素模型、策略、算法的顺序来介绍。2.感知机模型由输入空间到输出空间的如下函数: f(x)=sign(ω⋅x+b)f(x)=sign(\omega\cdot x+b) 其中ω,b\omega,b 为模型参数,ω⊂Rn\omega\subset R^n叫 阅读详情

一、感知机模型

感知机是二分类的线性分类模型。感知机对应于输入空间(即特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。

定义:
假设输入空间是 X ⊆ R n \mathcal{X}\subseteq\bm R^n X⊆Rn,输出空间是 Y = { + 1 , − 1 } \mathcal{Y}=\{+1, -1\} Y={+1,−1}。输入 x ∈ X x\in\mathcal{X} x∈X表示实例的特征向量,输出 y ∈ Y y\in\mathcal Y y∈Y,由输入空间到输出空间的如下函数 f ( x ) = s i g n ( ω ⋅ x + b ) (1) f(x)=sign(\omega\cdot x + b)\tag1 f(x)=sign(ω⋅x+b)(1)
称为感知机。其中 ω ∈ R n \omega\in\bm R^n ω∈Rn叫做权值或权值向量, b ∈ R b\in\bm R b∈R叫做偏置, ω ⋅ x \omega\cdot x ω⋅x表示内积。

感知机模型的假设空间是定义在特征空间中的所有线性分类模型,即函数集合 { f ∣ f ( x ) = ω ⋅ x + b } \{f|f(x)=\omega\cdot x + b\} {f∣f(x)=ω⋅x+b}

几何解释:
ω ⋅ x + b = 0 \omega\cdot x + b=0 ω⋅x+b=0对应于特征空间 R n \bm R^n Rn中的一个超平面 S S S,其中 ω \omega ω是超平面的法向量, b b b是超平面的截距,这个超平面将特征空间划分为两个部分,从而达到分类的效果。

二、感知机学习策略

2.1 数据集的线性可分性

给定一个数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), \cdots,(x_N, y_N)\} T={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)},其中 x i ∈ X = R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal X=\bm R^n, y_i\in\{+1, -1\}, i=1,2,\cdots, N xi​∈X=Rn,yi​∈{+1,−1},i=1,2,⋯,N。如果存在某个超平面 S : ω ⋅ x + b = 0 S: \omega\cdot x + b=0 S:ω⋅x+b=0,能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即对所有 y i = + 1 y_i=+1 yi​=+1的实例,有 ω ⋅ x + b > 0 \omega\cdot x + b>0 ω⋅x+b>0;对所有 y i = − 1 y_i=-1 yi​=−1的实例,有 ω ⋅ x + b < 0 \omega\cdot x + b<0 ω⋅x+b<0,则称数据集 T T T线性可分,否则称线性不可分。

2.2 感知机学习策略

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正负实例点完全正确分开的分离超平面,即确定参数 ω \omega ω和 b b b,即定义损失函数并将损失函数极小化。

可选择损失函数为误分类点到超平面 S S S的总距离(如果选误分类点的总数,那么损失函数不是参数 ω \omega ω和 b b b的连续可导函数,不易优化)。

对于误分类的点的集合为 M M M,有数据点 ( x i , y i ) ∈ M (x_i, y_i)\in M (xi​,yi​)∈M,那么 − y i ( ω ⋅ x i + b ) > 0 -y_i(\omega\cdot x_i + b)>0 −yi​(ω⋅xi​+b)>0总成立,所以数据点 ( x i , y i ) (x_i, y_i) (xi​,yi​)到超平面的距离为 − 1 ∣ ∣ ω ∣ ∣ y i ( ω ⋅ x i + b ) -\frac{1}{||\omega||}y_i(\omega\cdot x_i + b) −∣∣ω∣∣1​yi​(ω⋅xi​+b),从而有所有误分类点到超平面的总距离为 − 1 ∣ ∣ ω ∣ ∣ ∑ x i ∈ M y i ( ω ⋅ x i + b ) (2) -\frac{1}{||\omega||}\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag2 −∣∣ω∣∣1​xi​∈M∑​yi​(ω⋅xi​+b)(2)
所以损失函数可以定义为 L ( ω , b ) = − ∑ x i ∈ M y i ( ω ⋅ x i + b ) (3) L(\omega, b)=-\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag3 L(ω,b)=−xi​∈M∑​yi​(ω⋅xi​+b)(3)

三、感知机学习算法

3.1 原始形式

( 3 ) (3) (3)式给出了感知机的损失函数,可采用随机梯度下降法进行求解参数。经计算可知: ▽ ω L ( ω , b ) = − ∑ x i ∈ M y i x i (4) \bigtriangledown_{\omega}L(\omega, b)=-\sum_{x_i\in M}y_ix_i\tag4 ▽ω​L(ω,b)=−xi​∈M∑​yi​xi​(4)
▽ b L ( ω , b ) = − ∑ x i ∈ M y i (5) \bigtriangledown_{b}L(\omega, b)=-\sum_{x_i\in M}y_i\tag5 ▽b​L(ω,b)=−xi​∈M∑​yi​(5)
所以有如下算法:

  1. 选取初值 ω 0 , b 0 \omega_0, b_0 ω0​,b0​
  2. 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi​,yi​)
  3. 如果 ( x i , y i ) (x_i, y_i) (xi​,yi​)为误分类点,即 y i ( ω ⋅ x i + b ) ≤ 0 y_i(\omega\cdot x_i+b)\le0 yi​(ω⋅xi​+b)≤0,那么 ω ⟵ ω + η y i x i (6) \omega\longleftarrow\omega+\eta y_ix_i\tag6 ω⟵ω+ηyi​xi​(6) b ⟵ b + η y i (7) b\longleftarrow b+\eta y_i\tag7 b⟵b+ηyi​(7)
  4. 转至 2 2 2,直至训练集中没有误分类点

直观上的解释就是:当一个实例点被误分类,即位于超平面的错误一侧时,调整 ω \omega ω和 b b b的值,从而调整超平面的位置,以减少误差分类点与超平面间的距离。

3.2 算法的收敛性

对于线性可分数据集,感知机学习算法原始形式收敛,即经过有限次的迭代可以得到一个将训练数据集完全正确划分的分离超平面。但感知机学习算法存在许多解,这些解即依赖于初值的选择,也依赖于误分类点的选择顺序。

3.3 对偶形式

如何理解感知机学习算法的对偶形式?
基本思想是将 ω \omega ω和 b b b表示成实例 x i x_i xi​和标记 y i y_i yi​的线性组合的形式,通过求解其系数而求得 ω \omega ω和 b b b。

由原始形式可知,对误分类点 ( x i , y i ) (x_i, y_i) (xi​,yi​),通过 ω ⟵ ω + η y i x i \omega\longleftarrow\omega+\eta y_ix_i ω⟵ω+ηyi​xi​和 b ⟵ b + η y i b\longleftarrow b+\eta y_i b⟵b+ηyi​逐步修改 ω \omega ω和 b b b,设修改了 n i n_i ni​次,则 ω \omega ω和 b b b关于 ( x i , y i ) (x_i, y_i) (xi​,yi​)的增量分别是 α i y i x i \alpha_iy_ix_i αi​yi​xi​和 α i y i \alpha_iy_i αi​yi​,其中 α i = n i η \alpha_i=n_i\eta αi​=ni​η。这样,最后 ω = ∑ j = 1 N α j y j x j (8) \omega=\sum\limits_{j=1}^N\alpha_jy_jx_j\tag8 ω=j=1∑N​αj​yj​xj​(8) b = ∑ j = 1 N α j y j (9) b=\sum\limits_{j=1}^N\alpha_jy_j\tag9 b=j=1∑N​αj​yj​(9)

  1. 选取初值 α i = 0 , b = 0 , i = 1 , 2 ⋯   , N \alpha_i=0, b=0, i=1,2\cdots, N αi​=0,b=0,i=1,2⋯,N
  2. 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi​,yi​)
  3. 如果 ( x i , y i ) (x_i, y_i) (xi​,yi​)为误分类点,即 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≤ 0 y_i(\sum\limits_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\le0 yi​(j=1∑N​αj​yj​xj​⋅xi​+b)≤0,那么 α i ⟵ α i + η (10) \alpha_i\longleftarrow\alpha_i+\eta\tag{10} αi​⟵αi​+η(10) b ⟵ b + η y i (11) b\longleftarrow b+\eta y_i\tag{11} b⟵b+ηyi​(11)
  4. 转至 2 2 2,直至训练集中没有误分类点

与原始形式一样,对偶形式也是收敛的,而且存在多个解。

感知机【图文,详细推导】 机器学习笔记,本文主要介绍感知机。感知机(PLA)是 1957 年,由 Rosenblatt 提出会,是神经网络和支持向量机的基础。感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取值为+1和-1。 阅读详情

相关推荐

机器学习——感知机模型

感知机模型的定义以及介绍,数学推导过程、代码实现感知机模型迭代过程。

Bio大恐龙 5420

Matlab学习笔记 1 单层感知机的简介和组成结构及原理

Matlab 单层感知器的简介和结构及原理

weixin_41918150的博客 657

记一下机器学习笔记 Rosenblatt感知机

一入ML深似海啊… 这里主要是《神经网络与机器学习》(Neural Networks and Learning Machines,以下简称《神机》)的笔记,以及一些周志华的《机器学习》的内容,可能夹杂有自己的吐槽,以及自己用R语言随便撸的实现。 话说这个《神经网络与机器学习》还真是奇书,不知是作者风格还是翻译问题,一眼望去看不到几句人话(也许是水利狗看不懂),感觉我就是纯买来自虐的。 作为开始

qq_32611933的博客 3491

【统计学习方法】感知机Python实现

1 前言 感知机是二分类的线性分类模型。输入为:实例的特征向量;输出:实例的类别【一般取-1和+1二值】。 感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求出感知机模型。 感知机分为原始模式和对偶形式。 2 感知机模型 定义2.1(感知机) 假设输入空间(特征空间)是 χ⊆Rn\chi \subseteq R^nχ⊆Rn ,输入空间是Y⊆{−1,+1}\

qq_43683133的博客 301

【机器学习】1——线性模型、感知机

线性模型,感知机

qq_43507078的博客 1136

【统计学习方法】学习笔记——第二章:感知机

统计学习方法:感知机感知机模型参考资料 感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面,属于判别模型。 感知机旨在求出将训练数据进行线性划分的分离超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化。 感知机算法分为原始形式和对偶形式,感知机预测是用学习得到的感知机模型对新的输入实例进行分类。 感知机模型 参考资料 https://blog.youkuaiyun.com/weixin_5481438

小哲的博客 781

感知机笔记

感知机是二分类的线性分类模型,属于判别模型。感知机学习目的是求出一个可以将训练数据集线性划分的超平面。其优势在于简单且易于实现;感知机可以分为原始形式和对偶形式,是神经网络与支持向量机的基础。 1. 模型 1.1 定义 感知机的定义如下:假设输入空间是,输出空间是,x 表示输入空间 X 的实例 ,由输入空间到输出空间的如下函数: 称为感知机,叫做权值或权值向量,叫做偏置,表示权值向量和实例向量的一个内积,sign 是符号函数。 感知...

DaMeng999的博客 555

Nordic nRF52832实战:手把手教你搭建智能手环BLE通信框架(附完整代码)

本文详细介绍了如何使用Nordic nRF52832芯片搭建智能手环的BLE通信框架,涵盖芯片优势、协议栈初始化、低功耗广播策略及健康数据服务实现。通过完整代码示例和架构设计,帮助开发者快速掌握蓝牙低功耗通信技术,适用于可穿戴设备开发。

weixin_29192141的博客 246

机器学习笔记(一) 感知机

机器学习笔记(一) 感知机   感知机(perceptron)是机器学习中一种经典的线性分类模型, 是一种最简单的前馈神经网络. 它的基本思想是在n维空间中利用超平面对(线性可分的)两类数据进行分割. 下面我们先看感知机的数学定义: 数学定义与几何意义   设 X∈Rn\mathcal{X} \in \mathbb{R}^nX∈Rn 为输入空间, Y={−1,1}\mathcal{Y}=\{-1, 1\}Y={−1,1} 为输出空间. 对于实例 (x,y)(x, y)(x,y), 其中x∈Xx \in \m

GYJ的博客 391

SWAT模型参数太多搞不定?一篇讲清如何用SWAT-CUP筛选关键敏感参数(含结果图解读)

本文详细解析了如何使用SWAT-CUP进行参数敏感性分析,帮助水文模型初学者从上百个参数中筛选出关键敏感参数。通过实际案例和结果图解读,介绍了敏感性分析的核心价值、SWAT-CUP结果界面解读方法以及参数筛选的四步实战法,显著提升模型调试效率。文章还提供了典型问题排查手册,解决敏感参数与文献不一致、率定后模型变差等常见问题。

weixin_30385925的博客 320

C# NX二次开发:两种过滤器设置方案的实战解析与场景适配

本文深入解析C# NX二次开发中的两种过滤器设置方案:AddFilterHandler回调与MaskTriple属性设置。通过实战案例对比其性能差异与适用场景,帮助开发者根据需求选择最优方案,提升NX插件开发效率与交互体验。特别针对BlockStyler集成场景提供专业建议,是NX二次开发者的实用指南。

weixin_33739646的博客 844

机器学习笔记(一)感知机 之 原理篇

这篇学习笔记强调几何直觉,同时也注重感知机算法内部的动机。限于篇幅,这里仅仅讨论了感知机的一般情形、损失函数的引入、工作原理。关于感知机的对偶形式和核感知机,会专门写另外一篇文章。关于感知机的实现代码,亦不会在这里出现,会有一篇专门的文章介绍如何编写代码实现感知机,那里会有几个使用感知机做分类的小案例。 感知机算法是经典的神经网络模型,虽然只有一层神经网络,但前向传播的思想已经具备。究其本质,感...

weixin_39421257的博客 401

【全网最新】使用 1panel面板 部署若依系统( springboot 和 vue)项目

打开前端项目的vue.config.js文件,检查devServer下的proxy代理部分,然后将下面这个端口修改为你要在打包后访问的端口,即使用nginx代理前的接口。这个端口默认是80端口,这里把其修改为不会冲突的8010端口,后台接口的地址配置为9080,不过感觉这里设置的8010和9080可能没有用,因为部署前端静态页面是,也配置了一次网页的外部接口和api的接口,后期有空了再验证。打开右侧的Maven,点击:生存期->package,然后点击运行,等待打包成功,包在如图所示的文件夹中。

老薛的专栏 1754

机器学习笔记一:感知机

感知机模型 f(x) = sign(wx + b) 感知机算法是误分类驱动的。具体采用随机 梯度下降法。 通过随机选择误分类点使梯度下降,直至算法收敛及分类完全正确。感知机算法特点: 1)感知机算法在训练样本上的误分类次数k是有上限的,即经过有限次搜索就可以找到将训练数据完全正确分开的分离超平面。 2)感知机算法村存在许多解,这些解既依赖于初值的选择,也依赖于迭代过程中误分类点的选择顺序。

atmosphere16的博客 408

Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程

本人有Unity基础,刚学UE几天,把这一套处理流程记录一下备用。

qq_42915442的博客 9815

各种AI的调试日记——辅助工作篇

记录使用各种AI(语言大模型)的心得和总结

m0_73056986的博客 1389

机器学习笔记(一) 感知机算法 之 原理篇

这篇学习笔记强调几何直觉,同时也注重感知机算法内部的动机。限于篇幅,这里仅仅讨论了感知机的一般情形、损失函数的引入、工作原理。关于感知机的对偶形式和核感知机,会专门写另外一篇文章。关于感知机的实现代码,亦不会在这里出现,会有一篇专门的文章介绍如何编写代码实现感知机,那里会有几个使用感知机做分类的小案例。 感知机算法是经典的神经网络模型,虽然只有一层神经网络,但前向传播的思想已经具备。究其本质,感...

聚娃科技开发者博客 496

​银行IT运维人必看!IT运维监控指标大全,一篇讲透

文章摘要:本文从七个维度系统阐述了IT运维指标体系,涵盖机房环境、基础设施、网络设施、数据存储、虚拟化平台、数据库中间件和应用层。作者结合20年金融行业经验,详细分析了各层级关键监控指标、正常范围及异常后果,并给出典型故障场景。重点强调现代运维需从被动响应转向主动预防,通过精细化指标管理实现系统稳定性保障。文章特别指出,在国产化与DevOps背景下,运维工作需兼顾传统架构与新兴技术,构建全方位监控体系,将运维从"故障报警"升级为"业务守护"。

最近开始研究AIGC领域技术,欢迎交流 1105

统计机器学习笔记(一):感知机

统计机器学习笔记(一):感知机

qq_39622197的博客 477

MATLAB计算各种复合干热指数,如SDHI、DHMI等

MATLAB编程实现各种复合干热指数

WW、forever的博客 5079

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

统计机器学习笔记(一)---感知机模型

公共绘图部分import numpy as np from matplotlib import pyplot as plt from matplotlib import animation from functools import partial# first set up the figure, the axis, and the plot element we want to animate

今夕何夕 737

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

机器学习——感知机

在本部分,我参考了网上多位博文对感知机的不同理解,大家可以根据自己的喜好进行对应的理解。输入为实例的特征向量,输出为实例的类别,取+1和-1;感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型;导入基于误分类的损失函数;利用梯度下降法对损失函数进行极小化;感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式;1957年由Rosenblatt提出,是神经网络与支持向量机的基础。感知机接收多个输入信号,输出一个信号。感知机的信号只有“流/不流”(1/0)两种取值。

zyz博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【机器学习】感知机原理详解

1. 感知机概述   感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机旨在求出将输入空间中的实例划分为两类的分离超平面。为求得超平面,感知机导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化求解。   如果训练数据集是线性可分的,则感知机一定能求得分离超平面。如果是非线性可分的数据,则无法获得超平面。...

齐在的专栏 3万+

【机器学习笔记】——感知机(Perceptron)

目 录 1 感知机(Perceptron)1.1 定义1.2 几何解释1.3 学习策略1.4 算法1.4.1 原始形式1.4.2 对偶形式2 算法实现2.1 实现原始形式算法2.2 实现对偶形式算法2.3 sklearn练习——自定义数据二分类2.4 对比练习——鸢尾花数据分类鸢2.4.1 尾花数据集2.4.2 数据预处理与特征选择2.4.3 对比手写模型与sklearn效果2.4.3.1 准备...

孙悟充的博客 2万+

经典机器学习模型(一)感知机模型

经典机器学习模型(一)感知机模型详解(包括对偶形式及其python实现)

qq_44665283的博客 2204
上一篇: 机器学习笔记三——决策树
下一篇: 机器学习笔记四——SVM
米法·
博客等级 码龄8年 179粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值