<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>感知机 on Lumenth</title>
        <link>https://blog.lumenth.me/tags/%E6%84%9F%E7%9F%A5%E6%9C%BA/</link>
        <description>Recent content in 感知机 on Lumenth</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>Lumenth</copyright>
        <lastBuildDate>Fri, 25 Sep 2026 16:21:31 +0800</lastBuildDate><atom:link href="https://blog.lumenth.me/tags/%E6%84%9F%E7%9F%A5%E6%9C%BA/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>深度学习笔记1-感知机</title>
        <link>https://blog.lumenth.me/p/perceptron/</link>
        <pubDate>Thu, 10 Sep 2026 00:00:00 +0000</pubDate>
        
        <guid>https://blog.lumenth.me/p/perceptron/</guid>
        <description>&lt;img src="https://blog.lumenth.me/p/perceptron/Perceptron.png" alt="Featured image of post 深度学习笔记1-感知机" /&gt;&lt;h1 id=&#34;深度学习基础-感知机&#34;&gt;深度学习基础-感知机
&lt;/h1&gt;&lt;p&gt;感知机（perceptron）是二分类的线性分类模型，属于监督学习算法，也是神经网络与支持向量机的共同前身。&lt;/p&gt;
&lt;p&gt;感知机起源于对生物神经元细胞的抽象建模，其工作原理与生物神经元细胞类似。（如下图）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;生物神经元通过&lt;strong&gt;树突&lt;/strong&gt;接收其他神经元&lt;strong&gt;轴突&lt;/strong&gt;传递过来的信号；当累积信号强度超过激发阈值时，神经元经由自身轴突向外输出神经脉冲。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;感知机仿照生物神经元机制，对多路输入信号做&lt;strong&gt;加权求和&lt;/strong&gt;，再与阈值进行比较，最终输出 0 或 1。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.lumenth.me/p/perceptron/cell.png&#34;
	width=&#34;2205&#34;
	height=&#34;915&#34;
	srcset=&#34;https://blog.lumenth.me/p/perceptron/cell_hu_f30fdb2f25c39b62.png 480w, https://blog.lumenth.me/p/perceptron/cell_hu_ba983eb879951e8a.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;神经元与感知机&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;240&#34;
		data-flex-basis=&#34;578px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;感知机模型&#34;&gt;感知机模型
&lt;/h2&gt;&lt;p&gt;感知机计算模型如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.lumenth.me/p/perceptron/model.png&#34;
	width=&#34;881&#34;
	height=&#34;371&#34;
	srcset=&#34;https://blog.lumenth.me/p/perceptron/model_hu_e9a5a4592086438c.png 480w, https://blog.lumenth.me/p/perceptron/model_hu_b59fe3d1a257588e.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;感知机模型&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;237&#34;
		data-flex-basis=&#34;569px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;工作原理：&lt;/p&gt;
&lt;p&gt;对输入进行加权求和，与阈值进行比较并输出；得到输出后与真实标签比较，若预测错误则按误差修正权重与偏置，反复迭代，直到所有训练样本都被正确分类（数据线性可分时）。&lt;/p&gt;
&lt;h3 id=&#34;第一步输入加权求和&#34;&gt;第一步：输入加权求和
&lt;/h3&gt;&lt;p&gt;接收一组信号 x&lt;sub&gt;1&lt;/sub&gt;, x&lt;sub&gt;2&lt;/sub&gt;, …, x&lt;sub&gt;m&lt;/sub&gt;，每一个 x&lt;sub&gt;i&lt;/sub&gt; 代表数据的一个特征。&lt;/p&gt;
&lt;p&gt;每一个输入对应一个权重 w&lt;sub&gt;i&lt;/sub&gt;，代表该特征对最终结果的影响程度；图中还有一个恒为 1 的输入，其权重记为 w&lt;sub&gt;0&lt;/sub&gt;，也就是偏置 b(第二步介绍)。&lt;/p&gt;
&lt;p&gt;将输入 x&lt;sub&gt;i&lt;/sub&gt; 与对应权重 w&lt;sub&gt;i&lt;/sub&gt; 相乘后求和，得到加权求和结果（净输入）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;z = Σ xi · wi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;第二步判断并输出&#34;&gt;第二步：判断并输出
&lt;/h3&gt;&lt;p&gt;设定一个阈值 θ，该阈值用于划定分类的界限：加权求和的结果大于阈值时输出 1，否则输出 0。&lt;/p&gt;
&lt;p&gt;令偏置 b = −θ，这样处理过后、与阈值的比较就变成了加入偏置和0进行比较，遮掩就能采用阶跃函数进行输出。判据就统一成了&amp;quot;加权求和加偏置后送入阶跃函数&amp;quot;的形式（即判断净输入 z 是否大于等于 0），如下图公式：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.lumenth.me/p/perceptron/judgement.png&#34;
	width=&#34;485&#34;
	height=&#34;274&#34;
	srcset=&#34;https://blog.lumenth.me/p/perceptron/judgement_hu_e3a9c451813988d.png 480w, https://blog.lumenth.me/p/perceptron/judgement_hu_83926a5578750b41.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;感知机计算流程&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;177&#34;
		data-flex-basis=&#34;424px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;其中 z = Σ x&lt;sub&gt;i&lt;/sub&gt; · w&lt;sub&gt;i&lt;/sub&gt; + b，z = 0 落在边界上，约定输出 1。&lt;/p&gt;
&lt;h3 id=&#34;第三步错误修正&#34;&gt;第三步：错误修正
&lt;/h3&gt;&lt;p&gt;每做出一次预测，感知机就与正确答案进行对比：若预测正确则不做任何修改；&lt;strong&gt;若预测错误&lt;/strong&gt;，则按下面规律进行权重调整：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.lumenth.me/p/perceptron/update.png&#34;
	width=&#34;475&#34;
	height=&#34;77&#34;
	srcset=&#34;https://blog.lumenth.me/p/perceptron/update_hu_4ab08c661a291a90.png 480w, https://blog.lumenth.me/p/perceptron/update_hu_ac367e829d118ec3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;权重更新公式&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;616&#34;
		data-flex-basis=&#34;1480px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;符号释义：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;w&lt;sub&gt;i&lt;/sub&gt;：第 i 个权重（w&lt;sub&gt;0&lt;/sub&gt; 即偏置 b，对应恒为 1 的输入）；&lt;/li&gt;
&lt;li&gt;η：学习率，控制每次修正的步长；&lt;/li&gt;
&lt;li&gt;y：真实标签（0 或 1）；&lt;/li&gt;
&lt;li&gt;ŷ：感知机预测输出（0 或 1）；&lt;/li&gt;
&lt;li&gt;x&lt;sub&gt;i&lt;/sub&gt;：第 i 路输入。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因为 (y − ŷ) 只在预测错误时才非零，取值为 +1（漏报）或 −1（误报），所以该式只在误分类样本上生效：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;y = 1、ŷ = 0 时，w&lt;sub&gt;i&lt;/sub&gt; ← w&lt;sub&gt;i&lt;/sub&gt; + η·x&lt;sub&gt;i&lt;/sub&gt;，把权重往&amp;quot;更容易输出 1&amp;quot;的方向推；&lt;/li&gt;
&lt;li&gt;y = 0、ŷ = 1 时，w&lt;sub&gt;i&lt;/sub&gt; ← w&lt;sub&gt;i&lt;/sub&gt; − η·x&lt;sub&gt;i&lt;/sub&gt;，把权重往&amp;quot;更容易输出 0&amp;quot;的方向推。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;若把偏置看作权重 w&lt;sub&gt;0&lt;/sub&gt;、把恒为 1 的输入看作 x&lt;sub&gt;0&lt;/sub&gt; = 1，则上式同时覆盖了偏置更新 b ← b + η(y − ŷ)。&lt;/p&gt;
&lt;h3 id=&#34;几何意义与收敛性&#34;&gt;几何意义与收敛性
&lt;/h3&gt;&lt;p&gt;把权重与偏置看作一组参数，z = 0（即 w·x + b = 0）在特征空间中是一条直线，在高维下则是超平面，它把空间分成两侧，分别对应输出 0 与输出 1。所谓&amp;quot;训练&amp;quot;，就是不断旋转、平移这条分界线，直到所有训练样本都落在正确的一侧。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Novikoff 定理&lt;/strong&gt;：若训练集&lt;strong&gt;线性可分&lt;/strong&gt;且学习率 η &amp;gt; 0，感知机学习算法一定能在&lt;strong&gt;有限步&lt;/strong&gt;内收敛，得到一个能把所有样本正确划分的超平面。&lt;/p&gt;
&lt;p&gt;反之，如果数据线性不可分，权重会被反复修正而始终无法稳定下来，此时算法不保证收敛。&lt;/p&gt;
&lt;p&gt;以与门（AND）为例：取 w&lt;sub&gt;1&lt;/sub&gt; = w&lt;sub&gt;2&lt;/sub&gt; = 1、b = −1.5，则只有输入 (1, 1) 时 z = 0.5 ≥ 0 输出 1，其余组合 z 均小于 0 输出 0，正好实现了与逻辑。&lt;/p&gt;
&lt;h2 id=&#34;感知机的劣势&#34;&gt;感知机的劣势
&lt;/h2&gt;&lt;p&gt;感知机只能解决&lt;strong&gt;线性可分&lt;/strong&gt;的任务。以逻辑门为例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;与（AND）、或（OR）：样本线性可分，感知机可以学会（见上例）；&lt;/li&gt;
&lt;li&gt;异或（XOR）：同一类别的点交错分布在直线两侧，无法用单个超平面分开，感知机无法解决。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XOR 问题的本质是它不属于线性可分函数，这正是单层感知机的根本局限。解决思路是引入&lt;strong&gt;隐藏层&lt;/strong&gt;，把单层感知机堆叠为&lt;strong&gt;多层感知机（MLP）&lt;/strong&gt;——借助多层的非线性变换去逼近任意复杂的决策边界，这也是后续深度神经网络的基本思路。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;感知机是二分类的线性模型：对输入加权求和并加上偏置，经阶跃函数输出 0 或 1；&lt;/li&gt;
&lt;li&gt;学习规则是&amp;quot;误分类驱动&amp;quot;的误差修正：w&lt;sub&gt;i&lt;/sub&gt; ← w&lt;sub&gt;i&lt;/sub&gt; + η(y − ŷ)x&lt;sub&gt;i&lt;/sub&gt;，偏置同步更新；&lt;/li&gt;
&lt;li&gt;只对误分类样本更新权值，预测正确时不做任何修改；&lt;/li&gt;
&lt;li&gt;数据线性可分时，由 Novikoff 定理保证有限步收敛；&lt;/li&gt;
&lt;li&gt;无法解决 XOR 等线性不可分问题，需要多层感知机。&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
