掌握感知器的学习原理

目录

一、前言

二、什么是感知器

三、生物神经元与感知器

四、感知器的数学模型

五、激活函数

六、感知器如何完成分类

七、感知器学习的目标

八、感知器学习规则

九、手动模拟一次训练

十、感知器训练完整流程

十一、Sklearn实现感知器

十二、鸢尾花数据集实战

十三、感知器的优点

十四、感知器的缺点

十五、为什么感知器推动了深度学习发展

十六、感知器与逻辑回归区别

十七、面试高频问题

什么是感知器?

感知器解决什么问题?

感知器为什么重要?

感知器如何学习?

感知器为什么不能解决XOR问题?

十八、总结


如果说:

复制代码
线性回归

是机器学习的入门模型

那么:

复制代码
感知器(Perceptron)

就是神经网络的起点

1957年,美国科学家:

复制代码
Frank Rosenblatt

提出了感知器模型。

它是人类历史上第一个能够:

复制代码
自动学习参数

自动完成分类

具有"学习能力"的神经网络模型

虽然今天我们已经拥有:

复制代码
CNN

RNN

Transformer

GPT

等复杂模型,但这些模型本质上都是由大量感知器组合而成。

因此:

理解感知器,就是理解神经网络的第一步。

本文将带你系统学习:

复制代码
什么是感知器

感知器的数学原理

感知器如何分类

感知器如何学习

感知器训练过程

感知器与逻辑回归区别

Sklearn实现感知器

二、什么是感知器

感知器是一种:

复制代码
二分类线性模型

例如:

复制代码
是否是垃圾邮件

是否通过贷款审批

是否患病

是否点击广告

都可以使用感知器解决。

感知器结构非常简单:

核心思想:

复制代码
多个输入特征

↓

线性加权求和

↓

激活函数

↓

输出分类结果

三、生物神经元与感知器

感知器最初来源于对生物神经元的模拟。

生物神经元工作过程:

复制代码
树突接收信号

↓

细胞核处理信号

↓

轴突输出信号

对应到感知器:

生物神经元 感知器
树突 输入特征
突触 权重
细胞体 加权求和
轴突 输出结果

因此:

复制代码
感知器

=

人工神经元

四、感知器的数学模型

假设有三个输入特征:

复制代码
x1

x2

x3

对应权重:

复制代码
w1

w2

w3

感知器首先计算:

z=w_1x_1+w_2x_2+w_3x_3+b

其中:

复制代码
w

表示权重

b

表示偏置

例如:

复制代码
x1 = 2
x2 = 3

w1 = 0.5
w2 = 0.8

b = 1

z = w1*x1 + w2*x2 + b

print(z)

输出:

复制代码
4.4

五、激活函数

仅仅求和还不能分类。

需要通过:

复制代码
激活函数(Activation Function)

进行判断。

感知器使用最简单的阶跃函数:

f(z)=\begin{cases}1,&z>0\0,&z\le0\end{cases}

意思是:

复制代码
z > 0

输出1

z ≤ 0

输出0

例如:

python 复制代码
def step(z):
    return 1 if z > 0 else 0

print(step(4.4))

输出:

复制代码
1

表示:

复制代码
属于正类

六、感知器如何完成分类

假设有如下二维数据:

年龄 收入 是否购买
25 5000 0
30 10000 1
35 15000 1

感知器会寻找一条直线:

复制代码
将两类数据分开

如下图所示:

这条直线称为:

复制代码
决策边界(Decision Boundary)

七、感知器学习的目标

感知器训练的本质:

复制代码
寻找最优权重w

使分类错误最少。

目标:

复制代码
错误分类样本数量最小

训练流程:


八、感知器学习规则

假设:

复制代码
真实标签

y = 1

预测结果:

复制代码
ŷ = 0

说明预测错误。

此时需要更新权重。

更新公式:

w_i=w_i+\eta(y-\hat y)x_i

其中:

复制代码
η

学习率(Learning Rate)

决定每次更新幅度。


九、手动模拟一次训练

假设:

复制代码
x = [2, 3]

y = 1

初始参数:

复制代码
w = [0, 0]

lr = 0.1

预测:

复制代码
z = 0

y_pred = 0

发生错误:

复制代码
真实值 = 1

预测值 = 0

更新:

复制代码
w1 = 0 + 0.1*(1-0)*2

w2 = 0 + 0.1*(1-0)*3

结果:

复制代码
w = [0.2, 0.3]

模型变得更接近正确答案。


十、感知器训练完整流程

python 复制代码
for epoch in range(100):

    for x, y in dataset:

        y_pred = predict(x)

        error = y - y_pred

        w += lr * error * x

训练过程:

复制代码
预测

↓

计算误差

↓

更新权重

↓

继续预测

↓

不断优化

十一、Sklearn实现感知器

Scikit-Learn 已经提供现成实现。

导入:

复制代码
from sklearn.linear_model import Perceptron

创建模型:

python 复制代码
model = Perceptron(
    max_iter=1000,
    eta0=0.1
)

训练:

复制代码
model.fit(X_train, y_train)

预测:

复制代码
pred = model.predict(X_test)

十二、鸢尾花数据集实战

加载数据:

python 复制代码
from sklearn.datasets import load_iris

iris = load_iris()

X = iris.data
y = iris.target

划分数据:

python 复制代码
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=0.2,
    random_state=42
)

训练模型:

python 复制代码
from sklearn.linear_model import Perceptron

model = Perceptron()

model.fit(
    X_train,
    y_train
)

预测:

复制代码
pred = model.predict(X_test)

计算准确率:

python 复制代码
from sklearn.metrics import accuracy_score

acc = accuracy_score(
    y_test,
    pred
)

print(acc)

输出:

复制代码
0.9以上

通常可以达到较好的分类效果。


十三、感知器的优点

优点:

复制代码
结构简单

实现容易

训练速度快

容易理解

特别适合作为:

复制代码
神经网络入门模型

十四、感知器的缺点

最大的缺点:

复制代码
只能解决线性可分问题

例如:

复制代码
AND问题

可以解决

但:

复制代码
XOR问题

无法解决

原因:

复制代码
无法用一条直线分开

十五、为什么感知器推动了深度学习发展

1969年,

Marvin Minsky 和 Seymour Papert 证明:

复制代码
单层感知器无法解决XOR问题

这让人工智能研究陷入低谷。

后来研究人员提出:

复制代码
多层感知器(MLP)

结构:

复制代码
输入层

↓

隐藏层

↓

输出层

最终发展成:

复制代码
神经网络

↓

深度学习

↓

Transformer

↓

GPT

因此:

今天所有的大模型,本质上都可以追溯到最早的感知器思想。


十六、感知器与逻辑回归区别

对比项 感知器 逻辑回归
输出 0/1 概率
激活函数 阶跃函数 Sigmoid
损失函数 分类错误 交叉熵
可解释性
概率输出 不支持 支持

十七、面试高频问题

什么是感知器?

复制代码
最简单的人工神经网络模型

感知器解决什么问题?

复制代码
线性二分类问题

感知器为什么重要?

复制代码
神经网络的基础

感知器如何学习?

复制代码
预测

↓

计算误差

↓

更新权重

感知器为什么不能解决XOR问题?

复制代码
XOR不是线性可分数据

十八、总结

感知器是机器学习历史上具有里程碑意义的模型。

其核心思想非常简单:

复制代码
输入特征
    ↓
加权求和
    ↓
激活函数
    ↓
分类结果
    ↓
误差反馈
    ↓
更新权重

虽然今天的深度学习模型已经拥有数十亿参数,但其底层逻辑依然与感知器一脉相承。

对于学习机器学习和深度学习的人来说:

感知器不仅是一个算法,更是理解神经网络、反向传播和大模型训练机制的重要起点。掌握感知器,你就掌握了人工智能发展的第一块基石。

相关推荐
Lsk_Smion30 分钟前
力扣实训 _ [994].腐烂的橘子/图论
算法·leetcode·图论
py小王子33 分钟前
Nature 期刊图复现|Python 实现双轴高维直方图与重叠分布图
python·nature·期刊图复现
卡梅德生物科技小能手34 分钟前
卡美德生物科普:LOXL2(赖氨酰氧化酶样蛋白2)
人工智能·经验分享·生活
Dragon Wu36 分钟前
AI视频创作笔记(五)短剧制作流程
人工智能·ai
一切皆是因缘际会38 分钟前
AI产业的深度变革与未来思辨
人工智能·ai·架构
轻微的风格艾丝凡38 分钟前
两电平三相VSC整流模式从不控整流平滑切换至有源整流调试记录
算法·dsp·c2000
小熊Coding38 分钟前
从零打造一款回合制 RPG 游戏:基于 Pygame 的《塔影守卫》全解析
python·游戏·计算机专业·pygame·rpg·2d游戏
不爱土豆唯爱马铃薯39 分钟前
MONKEYCODE 教程系列MC-025 | 实战AI客服机器人
人工智能·数据挖掘
keykey6.39 分钟前
用 PyTorch 训练图像分类器:完整实战
开发语言·人工智能·深度学习·机器学习