机器学习笔记 - 什么是感知机(Perceptron)?

本文介绍了感知机的起源、工作原理以及其在机器学习中的地位。通过分析感知机无法解决非线性可分问题,如XOR,阐述了其局限性。文章深入探讨了感知机的Python实现,包括数据集、架构、训练过程和终止条件,并展示了如何使用感知机对AND、OR和XOR数据集进行分类。最后,通过实际应用验证感知机无法解决XOR问题,强调了感知机在现代深度学习中的基础作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是感知机?

        由Rosenblatt于1958年首次推出的感知机,他提出了基于原始 MCP 神经元的感知机学习规则。可以说是最古老、最简单的ANN算法。在此出版物之后,基于感知机的技术在神经网络社区中风靡一时。仅这篇论文就对当今神经网络的流行和实用性负有重大责任。

        但随后,在1969年,机器学习社区迎来了“AI寒冬”,神经网络没有人再关注。Minsky和Papert出版了Perceptrons - 计算几何导论,这本书有效地使神经网络的研究停滞了近十年——关于这本书有很多争议,但作者确实成功地证明了单层感知机无法分离非线性数据点。

        鉴于大多数现实世界的数据集是自然非线性可分的,这似乎感知机以及其他神经网络研究可能没有太大意义。

        在Minsky和Papert的书籍出版后,人们对神经网络的兴趣大幅下降。直到我们开始探索更深层次的网络(有时称为多层

### 关于机器学习和数据挖掘中感知机的学习笔记 #### 感知机简介 感知机是一种用于线性分类的监督学习算法,属于最简单的神经网络形式之一。该模型由两层组成:输入层和输出层,其中权重连接这两层节点[^1]。 #### 数学表达式 感知机通过计算加权求和并应用激活函数来决定最终输出类别标签。具体来说: \[ f(x)=sign(\sum_{i=0}^{n}{w_ix_i}) \] 这里 \( w_i \) 表示第 i 维特征对应的权重参数,\( x_i \) 是相应维度上的输入变量值,而 sign 函数用来判断正负号从而得出所属类别。 ```python import numpy as np def perceptron_predict(X, weights): """基于给定权重预测单个样本X的结果""" z = np.dot(weights.T, X) return 1 if z >= 0 else -1 ``` #### 学习策略 为了调整初始设定不当或者随机初始化后的权重向量使之逐渐逼近最优解,采用误分类最小化原则更新规则如下所示: 如果实例被错误划分,则按照一定步长修正当前方向直至收敛为止;反之保持不变继续下一个训练样例直到遍历整个集合完成一轮迭代循环操作。 ```python learning_rate = 0.1 # 步长大小可调参优化设置 for epoch in range(max_epochs): for xi, target in zip(X_train, y_train): update = learning_rate * (target - predict(xi)) weights += update * xi ``` #### 应用场景 尽管简单朴素却有着广泛应用背景,比如垃圾邮件过滤器设计当中可以利用其快速高效的特点实现初步筛选工作;另外图像边缘轮廓提取任务里也能发挥重要作用等等[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值