尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
generative-ai-for-beginners 感知机精讲:从 Mark-1 硬件到梯度下降的神经网络入门
generative-ai-for-beginners 感知机精讲从 Mark-1 硬件到梯度下降的神经网络入门【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners导读本篇技术指南基于 generative-ai-for-beginners 课程第 15 课RAG 与向量数据库data目录下的配套资料系统讲解神经网络最朴素的起点——感知机Perceptron从 Frank Rosenblatt 1957 年打造的 Mark-1 硬件到其数学模型、感知机准则、梯度下降训练算法以及一份可直接运行的 Python 二分类实现。读完本文你将能徒手推导并实现一个感知机分类器并理解它如何为后续多层感知机、反向传播乃至现代深度学习框架如 PyTorch、TensorFlow奠定基础。说明本文的权威内容主体为 translations/hu/15-rag-and-vector-databases/data/perceptron.md英文原版见 15-rag-and-vector-databases/data/perceptron.md并结合仓库中同目录下的own_framework.md、frameworks.md两份资料做纵深扩充。感知机的历史起点Frank Rosenblatt 与 Mark-1对现代神经网络雏形最早的尝试之一出自 Frank Rosenblatt 之手。1957 年他在康奈尔航空实验室Cornell Aeronautical Laboratory开发了一台名为Mark-1的硬件设备专门用于识别三角形、正方形、圆形等简单几何图形。这台机器的输入非常朴素图像由一个20×20 的光电池阵列photocell array表示因此神经网络拥有400 个输入和1 个二进制输出。整个网络只包含单个神经元也被称为阈值逻辑单元threshold logic unit。它的权重类似于电位器potentiometer——一种可手动调节电路电阻的器件——在训练阶段由人工拨动旋钮来调整。当时《纽约时报》对感知机的描述极具时代色彩称其为电子计算机的胚胎海军期望它将来能够行走、说话、看见、书写、自我复制并感知自身的存在。事实标注上述历史细节1957 年、Mark-1、20×20 阵列、400 输入、阈值逻辑单元、电位器式权重均直接来自关联文档正文Rosenblatt 与 Mark-1 的配图在原文档中以 Wikimedia 图片引用但该图片文件并未收录在当前仓库中故本文不再引用图片以免产生失效链接。感知机模型二分类的线性决策假设模型有 N 个特征输入向量维度即为 N。感知机是一个二分类模型它只能区分两类输入数据。对每个输入向量 x感知机的输出为1 或 -1取决于样本所属类别计算公式为y(x) f(wᵀx)其中w是权重向量与输入同维度N 维wᵀx是权重与输入的点积衡量输入在权重方向上的投影大小f是阶跃激活函数step activation function——当wᵀx ≥ 0时输出 1否则输出 -1。整个模型没有隐藏层、没有非线性变换本质上是一条在 N 维空间中的超平面决策边界因此只能处理线性可分的数据。这是感知机最根本的能力边界也是后续发展出多层感知机MLP的直接动机——仓库配套文档 15-rag-and-vector-databases/data/own_framework.md 开篇就明确指出单层感知机只能分类线性可分的类别这正是下一阶段要解决的问题。感知机准则把误差写成权重的函数训练感知机的目标是找到一个权重向量w使大多数样本被正确分类也就是使误差最小化。这个误差由**感知机准则perceptron criterion**定义E(w) -∑ wᵀxᵢtᵢ其中求和遍历所有被错误分类的训练数据点ixᵢ是第i个输入数据tᵢ是目标标签负例取-1正例取1。理解这个准则的关键在于当样本被正确分类时wᵀxᵢ与tᵢ同号乘积为正反之误分类时两者异号乘积为负。准则只累加误分类样本因此E(w)非负且只有在全部正确分类时才能取到 0。把E(w)视作权重w的函数后训练就转化为一个函数最小化问题。梯度下降沿着误差曲面最陡的方向走最小化E(w)最常用的方法是梯度下降gradient descent从一个初始权重向量w⁽⁰⁾出发每步沿误差函数的负梯度方向更新权重w⁽ᵗ⁺¹⁾ w⁽ᵗ⁾ - η∇E(w)这里η是学习率learning rate控制每步更新的步长∇E(w)是E对w的梯度指向误差增长最快的方向取负号即指向下降最快的方向。对感知机准则求梯度后更新规则简化为非常优雅的形式w⁽ᵗ⁺¹⁾ w⁽ᵗ⁾ ∑ ηxᵢtᵢ也就是说每遇到一个误分类样本就把权重沿η·xᵢ·tᵢ的方向修正一次。直觉上若一个正例tᵢ1被误判为负就向该样本的特征方向靠近权重若负例tᵢ-1被误判为正就反向推开权重。反复迭代直到误分类样本消失。与仓库知识的呼应梯度下降在整个课程体系中是贯穿性主线。15-rag-and-vector-databases/data/own_framework.md 中将其推广为参数化形式w⁽ⁱ⁺¹⁾ w⁽ⁱ⁾ - η·∂ℒ/∂w、b⁽ⁱ⁺¹⁾ b⁽ⁱ⁾ - η·∂ℒ/∂b并指出实践中并非一次性用全部样本计算梯度而是随机抽取小批次minibatch即随机梯度下降SGD——感知机这里逐样本在线更新的思想正是 SGD 的雏形。Python 实现训练一个二分类感知机关联文档给出了完整的 Python 伪代码实现其核心是随机挑选正负例各一个检测误分类并修正权重def train(positive_examples, negative_examples, num_iterations 100, eta 1): weights [0,0,0] # Initialize weights (almost randomly :) for i in range(num_iterations): pos random.choice(positive_examples) neg random.choice(negative_examples) z np.dot(pos, weights) # compute perceptron output if z 0: # positive example classified as negative weights weights eta*weights.shape z np.dot(neg, weights) if z 0: # negative example classified as positive weights weights - eta*weights.shape return weights逐行解读这段训练循环代码片段作用关键参数/默认值num_iterations 100外层迭代轮数控制训练时长默认 100可调eta 1学习率η控制权重修正步长默认 1可调weights [0,0,0]初始权重向量3 维示例维度需与输入特征数一致random.choice(...)每轮随机抽一个正例与一个负例引入随机性即在线/随机式更新np.dot(pos, weights)计算感知机输出wᵀx点积结果决定分类if z 0 / if z 0判断是否误分类正例被判负 / 负例被判正weights ± eta*weights.shape沿梯度方向修正权重与更新公式w∑ηxᵢtᵢ对应两点需要特别说明依据代码结构推断eta*weights.shape是原文档示例中的笔误。weights.shape返回的是元组如(3,)eta*weights.shape在数值上并不构成合法的权重增量。对照前述梯度推导修正方向应为误分类样本本身正例被判负时执行weights weights eta * pos向该正例靠拢负例被判正时执行weights weights - eta * neg远离该负例这才与w⁽ᵗ⁺¹⁾ w⁽ᵗ⁾ ∑ηxᵢtᵢ完全一致。阅读原文代码时建议按此语义理解并自行修正后运行。依赖numpy与random代码中使用了np.dot与random.choice运行前需import numpy as np、import random。仓库根目录的 requirements.txt 中收录了项目整体依赖可作为安装参考具体以课程实际运行环境为准。训练完成后返回的weights即决策超平面的法向量对新样本x计算np.dot(x, weights)结果非负归为正类为负归为负类。从感知机走向多层网络与深度学习框架感知机虽然历史意义重大但单层结构的表达力有限——它只能分类线性可分的类别。仓库配套资料清晰地展示了后续演进路径多层感知机MLP与反向传播15-rag-and-vector-databases/data/own_framework.md 将单层模型扩展为z₁w₁xb₁ → z₂w₂α(z₁)b₂ → fσ(z₂)的多层结构引入非线性激活函数α与 softmaxσ并用链式法则从损失函数出发反向逐层计算梯度即反向传播backprop。感知机的梯度下降训练正是这一整套机制的最简原型。为什么需要深度学习框架15-rag-and-vector-databases/data/frameworks.md 指出训练神经网络需要两件事张量运算乘法、加法、sigmoid/softmax 等与自动求梯度。感知机课程里手动书写全部导数与更新逻辑而 TensorFlow/PyTorch 等框架把梯度计算自动化并支持 GPU/TPU 并行——这正是从手写感知机走向现代框架的分水岭。由此可以串起一条完整的学习主线Mark-1 感知机本文→ 多层感知机与反向传播own_framework→ 深度学习框架frameworks→ 课程后续的微调、RAG 与大模型应用。感知机虽简单却是理解这条主线不可绕过的第一块基石。总结与作业向 MNIST 全量数字分类进阶回顾要点感知机是一个二分类模型通过权重向量w与阶跃激活函数完成y(x)f(wᵀx)的决策其训练以感知机准则E(w)-∑wᵀxᵢtᵢ为目标用梯度下降含学习率η迭代更新权重直到误分类样本消失。该资料对应的配套作业见关联文档要求先在二分类任务上实现感知机并区分两个手写数字再进阶为全量数字分类——判断每张图片最可能对应 0–9 中的哪个数字即 MNIST 风格任务。延伸学习建议继续阅读 15-rag-and-vector-databases/data/own_framework.md 亲手搭建一个支持多层感知机与反向传播的迷你框架并配合 15-rag-and-vector-databases/data/frameworks.md 理解 TensorFlow 与 PyTorch 的高/低层 API 差异完成上述作业后即可自然过渡到课程第 15 课主体 15-rag-and-vector-databases/README.md 所讨论的 RAG 与向量数据库话题。附注本资料原文为英文15-rag-and-vector-databases/data/perceptron.md中文语境下的权威内容以英文原版为准匈牙利语译本由 Co-op Translator 机器翻译生成个别表述可能存在偏差。【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

交叉熵损失函数GPU加速:算子融合与混合精度优化实战

交叉熵损失函数GPU加速:算子融合与混合精度优化实战

1. 损失函数为什么成了训练效率的隐形瓶颈1.1 深度学习训练中,损失函数到底占了多少时间先问一个问题:你在跑深度学习训练的时候,有没有认真观察过每个 step 的时间分布?大部分人的注意力都放在模型结构、数据加载、优化器配置上&…

📅 2026/9/10 8:19:40
Composio 中 Kommo 连接的 Subdomain 字段填写指南:只填账户子域名,不填完整 URL

Composio 中 Kommo 连接的 Subdomain 字段填写指南:只填账户子域名,不填完整 URL

Composio 中 Kommo 连接的 Subdomain 字段填写指南:只填账户子域名,不填完整 URL 【免费下载链接】composio Composio powers 1000 toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents…

📅 2026/9/10 8:19:40
comprehensive-rust 课程详解:用 Newtype 模式实现真正封装,审计不可变不变量

comprehensive-rust 课程详解:用 Newtype 模式实现真正封装,审计不可变不变量

comprehensive-rust 课程详解:用 Newtype 模式实现真正封装,审计不可变不变量 【免费下载链接】comprehensive-rust This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust. 项目地址: ht…

📅 2026/9/10 8:19:40
MORE NEWS

更多资讯

📰

Codex不是模型而是协议:Agent时代的任务执行标准

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

UKF与CKF在分布式驱动电动汽车路面附着系数估计中的应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

工业PLC与伺服系统中MLCC选型完全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Java后端架构师进阶:高并发分布式系统的设计与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ACTF2020新生赛Upload题:文件上传绕过与蚁剑连接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

工业边缘网关选型实战:从8个候选到2个,避开这些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬