news 2026/5/4 22:59:33

简单学习--> 神经网络

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单学习--> 神经网络

神经网络

N-gram
是一个基于统计的语言模型, 它的核心逻辑非常简单----通过统计概率得到结果
根据前面连续的字 或 词 出现的频率 , 来猜下一个字/词是什么 、或者判断句子是否通顺、提取文本特征
核心原理
简单解释 : 一、我们需要计算机补全下面这段话 : 我想买一个_____。 二、N-gram会怎么猜,它是不会进行思考的,它会直接去找前面是否出现过类似的句子(有点像我们查字典一样) 三、如果前面的句子是 :1.我想买一个手机 (有1千条这样的句子)2.我喜欢吃饭 (有200条这样的句子)3.今天会下雨 (有300条这样的句子)4.我想买一个电脑 (有100条这样的句子) 四、那么N-gram会发现:1.‘手机’ 这个词,跟在 ‘我想买一个’ 的后面,出现了10002.‘电脑’ 这个词,跟在 ‘我想买一个’ 的后面,出现了1003.‘下雨’ 这个词,跟着 ‘我想买一个’ 的后面,出现了0次 ‘手机’这个词出现的次数最多 五、那么N-gram得到的结果就是 : 大概率是‘手机’

N-gram的 N , 就代表了能一次性往前多少数据 (比如:N=10 , 就能一次性往前看10个词或字)

N-gram的致命缺点
  1. 只认数据(没有见过的就不会): 如果出现了一个句子 :今天可能会下雨,我要带______ , N-gram在往前翻找没有这样的句子,它遇到没有见过的东西时,得到的概率就是0 , 就会死机了
  2. 记性差(容易记不住东西): N-gram通常只能往回看几个词,如果有一条很长的句子:‘夏明是一个大学生,他和同学要在公园做活动,今天公园里很热闹,他准备和朋友去__’,那么到N-gram这里,可能就只有 ‘他准备和朋友去购物’ 或 ‘他准备和朋友去看电影’ 。因为N-gram记不住这么长的句子,所以只留住了‘他准备和朋友去’ 这一段,而漏掉了前面的 ‘要在公园做活动’ 的前置。

神经网络

经过了前面的N-gram,我们知道光会统计是不够的, 我们需要的是能 ‘脑补’,会‘举一反三’的

神经网络的概念:模仿人脑脑细胞连接的数学模型,能够在数据中学规律

简单解释 : 人脑:很多神经元互相连线,能够看东西、学东西、记经验 神经网络:电脑里模拟出来的一层一层节点,像人造大脑,喂给它大量数据,它自己学会找特征、做判断。
核心原理

为什么神经网络比N-gram聪明,因为神经网络引入了一个词-----词向量(Word Embedding)

词向量简单解释:1.在Ngram中 : 猫 和 狗是两个不同的东西2.在神经网络看来 :把 猫 和 狗 变成了一组向量 ,.神经网络会发现 猫 和 狗 这两个向量的坐标,离得很近 (都是宠物,都有毛 ,都四条腿).而 猫 和 冰箱 的坐标,就离得很远(两个完全不相干)
如何举一反三
有很多训练数据:1.我想买一个手机2.我喜欢吃饭3.今天会下雨4.我想买一个电脑...题目 : 我喜爱吃___1.如果是N-gram : 没有见过 ‘喜爱’这个词 ,不认识‘喜爱’是个什么玩意==>统计概率为0,直接完蛋2.如果是神经网络 : 在一堆数据中发现 ‘喜爱’ 这一词的向量 和‘喜欢’ 这一词的向量距离很近(代表他们之间很类似)==>然后刚好有 : ‘吃饭’ 这一词 跟在 ‘喜欢’ 后面==>最后就得到了: 我喜爱吃饭
神经网络在计算机中的实现

神经网络就是一个巨大的数学公式 ,里面有无数个参数 (权重Weights)

通过这些参数(权重),神经网络就可以在海量的数据练习下,记录下数据的特征,规律,从而实现举一反三的能力

1.让神经网络判断图片中是否有猫2.神经网络通过大量的图片训练,就得出了猫的特征,比如:猫有4条腿,猫有毛...3.后面神经网络就可以根据这些特征,去判断图片中是否有猫
神经网络的架构
  1. 输入层:把数据塞进去

比如:一张图片的像素、一句话的文字、考试分数。

  1. 隐藏层:核心学习层

自动提取特征、找关联、算规律(相当于大脑思考)。

  1. 输出层:给出结果

比如:是猫还是狗、情感是正面还是负面、预测下一个字。

神经网络实现模拟
一、首先神经网络在计算机上实现就是一个 公式 , 里面有个大量的参数:==>func()=w1*x1+w2*x2+w3*x3+...+wn*xn==>每个w就是一个权重 , x就是原本的数据 二、假设要判断图片中的动物是不是猫 ,那么核心的架构就是:1.输入层 : 只负责查看数据 有没有毛 : 无毛 有多少条腿: 四条 有没有胡须: 有胡须 怎么叫 : 喵喵叫...(这时候这堆数据 只是一堆散落 的数字 , 没有任何意义)2.隐藏层 : 隐藏层里的神经元,就会从不同角度去组合特征,形成不同的‘判断逻辑’ 把每个神经元看做是一个不同的 ‘人’ , 人怎么判断一个动物是不是猫,有他们自己的一套权重来判断 神经元1==>逻辑:不在乎没有毛,有多少条腿, 更在乎有没有胡须==>操作: ‘有没有胡须’的权重占比就很大==>结论: 有胡须==>是猫 得0.9分 (满分1分) 神经元2==>逻辑: 关注有多少条腿 ,更关注有没有 毛 ,没有毛就不是猫==>操作: ‘有没有毛’的权重就很大,即使有4条腿,也只是占一点点==>结论: 无毛==>0.1分 (满分1分) 神经元3==>逻辑: 关注有没有毛 ,更关注怎么叫 ,喵喵叫的才是猫==>操作: ‘怎么叫’的权重很大,‘有没有毛’ 占一点比利==>结论: ‘喵喵叫’的同时‘有毛’==>1分 (满分1分) 对应原理: 这就是“特征提取”。隐藏层负责把原始数据(有没有毛、有多少条腿)转化成高级特征(是什么样的动物)3.输出层 :根据前面几个神经元的结论,做最终决定 (类似于老板做决定) 老板的决定逻辑1.查看结论: 神经元1==>是猫 得0.9分 神经元2==>不是猫 得0.1分 神经元3==>是猫 得12.综合加权: 对于不同的神经元也有各自的权重(老板对于不同的人,有不同的看法)比如: 神经元1,这个人做事比较老实, 占比4神经元2,这个人做事比较急躁, 占比2神经元3,这个人做事比较稳重, 占比43.最终计算: 通过一个激活函数 计算出最终得分 最终得分>0.8==>是猫 最终得分<0.8==>不是猫
反向传播

通过错误的结果,去反向寻找,去倒推,到底哪个参数影响整个结果的作用最大,然后不断去调整优化它。

简单解释 :1.用前面判断是不是猫的例子 , 如果图片输入一个‘猫’的图片,根据神经网络判断是不是猫 输入数据: 有没有毛 : 无毛 有多少条腿: 四条 有没有胡须: 有胡须 怎么叫 : 喵喵叫 结论: 神经元1==>是猫 得0.9分 神经元2==>不是猫 得0.1分 神经元3==>是猫 得12.如果最后决定的老板 ,觉得这个 神经元2比较靠谱,给了神经元2很大的权重,不看别人的 神经元1, 占比1神经元2, 占比8神经元3, 占比1==>最终结果就是 : w1*x1+w2*x2+w3*x3=最终结果==>0.9*0.1+0.1*0.8+1*0.1=0.27==>0.27小于0.8==>那么最终决定: 不是猫3.如果图片是一个无毛猫,可是神经网络的最终结果却是:‘不是猫’ 这就是一个很大的错误
损失函数

损失函数 = 衡量模型「预测值」和「真实答案」差了多少的公式

差越大,损失越大;差越小,损失越小

简单解释: 考试得分 真实答案:100分 你预测:60分 损失函数就是算:你错了多少、偏差有多大。 神经网络训练的目标就一个:把损失降到最小。

那么上面判断猫的错误结果的损失函数:

是猫的需要得分 :0.8神经网络最终得分:0.270.8-0.27=0.53, 这个0.53就是上面判断猫的神经网络损失函数
神经网络怎么进行反向传播

反向传播是神经网络最核心的学习机制。它并不直接修改答案,而是计算“谁该为这个错误负责”

反向传播的过程简单解释:1.计算误差2.逆向回溯3.更新参数 当发现 最终结果 和 神经网络预测的结果不符,就一层层往回查,看是哪里导致的
上面判断猫的例子:1.发现神经元2: 一点都不准,2.修改神经元2权重:0.8->0.23.神经元3更准一点:0.1->0.8更新完参数,权重后重新计算0.9*0.1+0.1*0.2+1*0.8=0.91得到结果:0.91>0.8==>得到 是猫的结果 (这回就算是无毛猫,也能判断得出来了)
正向传播和反向传播的区别
  1. **正向传播:**就是信息从输入层流向输出层的过程 ()
  2. **反向传播:**通过错误的结果,去反向寻找,去倒推,到底哪个参数影响整个结果的作用最大,然后不断去调整优化它
过拟合问题

死记硬背导致的“伪规律”: 模型把训练集死记硬背下来了,学到了噪音,特例,无关的细节,但是泛化能力极差,遇到新数据就废

简单解释: 老师给你做模拟题(训练集): 你不理解知识点,把每道题答案死背下来==>模拟题全考满分 一到 高考新题(测试集)直接崩盘==>这就是过拟合。
还是用上面判断是猫的模型例子:1.因为经过无毛猫事件,每个人都学“聪明”了,但是学到的是‘伪规律’2.神经元1发现 神经元2上次被罚是因为 : 把‘有没有毛’特征的权重弄太高了,导致‘无毛猫’被认为是 ‘不是猫’==>这就意味着3.所以神经元1就得到了一条 ‘真理’==>‘没有毛的动物,就是猫’4.后面不管遇到什么动物 ,对于神经元1来说: 只要没有猫,就是猫5.这就是 ‘过拟合’, 因为死记硬背,学到了‘伪规律’
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 22:44:19

【绝密预发布资料】OPC Foundation未公开的C# .NET 8专用UA SDK Beta 3.2.0:支持ARM64边缘网关+OPCUA over MQTT 5.0,仅开放给前200名订阅者

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;OPC UA 2026版工业物联网开发演进全景 OPC UA 2026版标志着工业通信协议从“互操作性基础”迈向“自主语义协同”的关键跃迁。该版本由OPC Foundation于2025年Q4正式发布&#xff0c;核心聚焦于原生支持…

作者头像 李华
网站建设 2026/5/4 22:41:07

从头构建constexpr配置引擎:手写137行无依赖头文件库,支持JSON Schema校验+编译期CRC校验(GitHub Star 2.4k项目核心源码拆解)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;constexpr配置引擎的设计哲学与核心价值 constexpr配置引擎并非传统意义上的运行时配置加载器&#xff0c;而是一种将配置逻辑前移至编译期的范式跃迁。其设计哲学根植于三个不可妥协的原则&#xff1a…

作者头像 李华