从函数到神经网络
所有一切的前提是,你要相信这个世界上的所有逻辑和知识,都可以用一个函数来表示。Functions describe the world !

比如输入物体的质量和加速度,根据牛顿第二定律,就可以得到物体施加的力,这就是人工智能早期的思路:符号主义。
但这条路走到头了,很多问题人类实在是想不出怎么写成一个明确的函数。比如说一个简简单单的识别,一张图片是否是猫对人类来说可能简单到爆炸,但是要让计算机运行一段程序来识别,一下子就变成了一个史诗级难题,就连有着明确语法规则和词典的翻译函数尚且没有办法做到足够丝滑,更别说复杂多变的人类智能了。

既然不知道这个函数长什么样,怎么办呢?换个思路:
假如我们一开始没有找到这个规律,我们先把这个x、y放到坐标轴上,先随便猜一下。比如说函数关系就是y等于x,也就是这里的w和b分别是一和零,然后我们一点点调整这个w和b,使得这条直线越来越贴近真实数据。

刚刚我们举的例子比较简单,只用直线方程就可以表示了。但假如数据稍稍变化一下,就会发现,不论怎么调整都无法接近真实的数据,这个时候就需要从原来的线性函数进化到非线性函数了,我们就来研究一下,怎么把原来这个原本线性的函数变成非线性的呢?
很简单,在这个函数最外层再套一个非线性的运算就可以了。比如平方、比如sin(wx+b)、比如e^wx+b,这就是激活函数。
它的目的就是把原本死气沉沉的线性关系给盘活了,变成了变化能力更强的非线性关系。

回到这个新的函数形式,我们之前仅仅有一个输入的变量就是x,但实际上可能有很多输入。所以这里的每一个x都要对应一个w,像这样:

再者,有的时候只套一层激活函数,还是没有办法达到很好的效果。也就是说这个曲线弯的还不够灵活,这要怎么办?
我们在此基础之上再进行一次线性变换,然后再套上一个激活函数,这样就可以无限的套娃下去了。通过这样的方式,我们就可以构造出非常非常复杂的线性关系,而且理论上可以逼近任意的连续函数。当然了,这样写下去实在是太让人头大了,普通人看个两层,估计脑子就炸了,所以我们得换一种更傻瓜的、更直观的形式,我们把这样一个线性变换套一个激活函数 画成下面这样:

左边是输入层,只有输入x,右边是输出层,只有一个输出y。我们把这里的每一个小圈圈叫做一个神经元。
每套一层就相当于神经元水平方向又扩展了一个。当然扩展之后,中间这一层就不再是最终的输出了,而是包裹在了一个很复杂的函数变换之中看不到,我们管它叫做隐藏层,而整个神经元互相连接形成的网络结构,就叫做神经网络。
好,接下来我们看一下函数和神经网络的对应关系。首先有两个输入变量,一个是x1,另一个是x2,它们构成了输入层,然后x1、x2二进行一次线性变换,再进行一次激活函数就得到了隐藏层a,这个a对应的就是上面这一大坨表达式,我们把它当做一个整体,继续进行一次线性变换和一次激活函数,这就计算出了最终的输出层y。从神经网络的这个图来看的话,似乎就像是一个信号,从左到右传播了过去,这个过程就叫做神经网络的前向传播。实际上就是一点点分步骤,把一个函数的值计算出来了而已。

神经网络的每一层神经元都可以无限增加。同时,隐藏层的层数也可以无限增加,进而就可以构成一个非常非常复杂的非线性函数了。虽然这个函数可能非常复杂,但是我们的目标却非常简单和明确,就是根据已知的一组x和y的值,猜出所有w和b各是多少。

参考:https://space.bilibili.com/325864133
相关文章:
从函数到神经网络
所有一切的前提是,你要相信这个世界上的所有逻辑和知识,都可以用一个函数来表示。Functions describe the world ! 比如输入物体的质量和加速度,根据牛顿第二定律,就可以得到物体施加的力,这就是人工智能早期的思路&am…...
用自定义注解实现Excel数据导入中的枚举值校验
使用自定义注解实现Excel数据导入中的枚举值校验 在实际开发中,我们经常需要从Excel文件中导入数据,并且这些数据需要符合一定的规则,比如某些字段的值必须是预定义的枚举值。本文将介绍如何使用自定义注解来实现这一功能,以提高…...
网络安全技术pat实验 网络安全 实验
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 网络安全实验3 前言Kali 常用指令工具教程 ettercap 基本使用 一、口令破解 John the ripper 破解 linux 密码l0phtcrack7 破解 windows 密码John 破解 zip 压…...
4、IP查找工具-Angry IP Scanner
在前序文章中,提到了多种IP查找方法,可能回存在不同场景需要使用不同的查找命令,有些不容易记忆,本文将介绍一个比较优秀的IP查找工具,可以应用在连接树莓派或查找IP的其他场景中。供大家参考。 Angry IP Scanner下载…...
1018. 锤子剪刀布 (20)-PAT乙级真题
题目来源: PTA | 程序设计类实验辅助教学平台 代码实现(代码一): 这个版本是自己写的;(很好理解,但定义了很多变量),有部分样例测试不通过 #include <iostream>…...
MyBatis 中 SqlMapConfig 配置文件详解
精心整理了最新的面试资料,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 configuration:包裹所有配置标签,是整个配置文件的顶级标签。 properties:属性,该标签可以引入外部配置的属性ÿ…...
复杂项目中的多级WBS应该如何分解?
如果你曾经参与过一个复杂的项目,或许就会感受到: 任务繁杂、责任不清、进度难追踪, 真的是每一位项目经理的噩梦。 而这一切的根源,往往就是缺少一个清晰、有效的任务分解结构—— 没有把庞大、复杂的工作拆解得足够明确&…...
红蓝对抗之常见网络安全事件研判、了解网络安全设备、Webshell入侵检测
文章目录 研判(入侵检测) 设备 经典网络云网络 异常HTTP请求Webshell分析 Webshell 的分类Webshell 的检测 主机层面流量层面 附录 常见端口漏洞…...
使用 CodeMirror 6 实现插入文本及替换选中文本功能
本文将通过具体的代码示例,详细解释如何在 Vue3 中使用 CodeMirror 6 实现文本插入功能,包括在光标位置插入文本和选中文本插入文本的代码示例,以及这两种插入方式的区别。 1. 只能在光标位置插入文本 1.1 代码示例 const insertTemplate …...
Huatuo热更新--如何使用
在安装完huatuo热更新插件后就要开始学习如何使用了。 1.创建主框渐Main 新建文件夹Main(可自定义),然后按下图创建文件,注意名称与文件夹名称保持一致 然后新建场景(Init场景),添加3个空物体…...
Flask实现高效日志记录模块
目录 一. 简介: 1. 为什么需要请求日志 二. 日志模块组成 1. 对应日志表创建(包含日志记录的关键字段) 2. 编写日志记录静态方法 3. 在Flask中捕获请求日志 4. 捕获异常并记录错误日志 5. 编写日志接口数据展示 6. 写入数据展…...
scroll、offset、client三大家族和getBoundingClientRect方法
scroll、offset、client三大家族和getBoundingClientRect方法 1.offset(只能读,不能修改)2.client(只能读,不能修改)3.scroll滚动家族4.getBoundingClientRect方法 1.offset(只能读,不能修改) offsetParent:离当前元素最近的有定位的祖先元素…...
JWT 令牌
目录 一、JWT 1、什么是JWT 2、JWT的组成 3、JJWT签发与验证token 1、创建token 2、解析token 3、设置过期时间 4、自定义claims 前言: 在现代Web应用和微服务架构中,用户身份验证和信息安全传输是核心问题。JSON Web Token(J…...
Python基于Flask的豆瓣Top250电影数据可视化分析与评分预测系统(附源码,技术说明)
博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇dz…...
JavaScript数组-遍历数组
在JavaScript中,数组是一种非常常用的数据结构,用于存储一系列有序的数据项。无论是处理简单的列表还是复杂的数据集合,遍历数组都是我们经常需要执行的操作之一。本文将详细介绍几种常见的遍历数组的方法,并讨论它们各自的优缺点…...
基于Flask的第七次人口普查数据分析系统的设计与实现
【Flask】基于Flask的第七次人口普查数据分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 基于Flask的人口普查可视化分析系统 二、项目界面展示 登录/注册 首页/详情 …...
解决DeepSeek服务器繁忙的有效方法
全球42%的企业遭遇过AI工具服务器过载导致内容生产中断(数据来源:Gartner 2025)。当竞品在凌晨3点自动发布「智能家居安装指南」时,你的团队可能正因DeepSeek服务器繁忙错失「净水器保养教程」的流量黄金期⏳。147SEO智能调度系统…...
分词器(Tokenizer) | 有了分词器,为什么还需要嵌入模型
文章目录 什么是tokenizer有了分词器,为什么还需要嵌入模型分词器为什么在transformers 里Hugging Face的Tokenizer大模型不同tokenizer训练效果对比分词器库选择当前顶尖大模型所采用的 Tokenizer 方法与词典大小 参考 什么是tokenizer Tokenizers huggingface官方…...
VisionTransformer(ViT)与CNN卷积神经网络的对比
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
计算机视觉+Numpy和OpenCV入门
Day 1:Python基础Numpy和OpenCV入门 Python基础 变量与数据类型、函数与类的定义、列表与字典操作文件读写操作(读写图像和数据文件) 练习任务:写一个Python脚本,读取一个图像并保存灰度图像。 import cv2 img cv2.im…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
VSCode 使用CMake 构建 Qt 5 窗口程序
首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
