神經網絡是如何工作的

人工智能最核心的技術之一,就是神經網絡(Neural Networks)。但很多初學者會覺得它是個黑盒:為什么神經網絡能識別圖片、翻譯語言,甚至生成文章?

本文用圖解+最小代碼實現的方式,帶你深入理解:神經網絡的基本結構、工作流程、核心原理


🧠 一、什么是神經網絡?

神經網絡是一種模擬人腦神經元連接方式的算法結構。它由輸入層、隱藏層和輸出層構成,核心是:

輸入 → 權重計算 → 激活函數 → 輸出


🧩 二、圖解神經網絡結構

我們以最簡單的三層神經網絡為例(1個隱藏層):

輸入層        隱藏層         輸出層x1 ─┬───? o1 ──┬───? y1(預測值)x2 ─┘        o2 ──┘
  • x1、x2:輸入特征(如圖像像素、文本向量)
  • o1、o2:隱藏層神經元(通過加權計算+激活函數)
  • y1:輸出結果(如類別概率)

?? 三、神經元的工作機制

每個神經元做兩件事:

  1. 加權求和

    z = w 1 ? x 1 + w 2 ? x 2 + b z = w_1 \cdot x_1 + w_2 \cdot x_2 + b z=w1??x1?+w2??x2?+b

  2. 激活函數(如 sigmoid):

    a = 1 1 + e ? z a = \frac{1}{1 + e^{-z}} a=1+e?z1?

這個“激活”讓網絡具有非線性表達能力,能處理圖像、聲音等復雜數據。


🔢 四、用代碼模擬一個簡單神經元(Python實現)

import numpy as np# 輸入數據
x = np.array([0.5, 0.3])  # 兩個特征
w = np.array([0.8, -0.4]) # 權重
b = 0.1                   # 偏置# 激活函數(sigmoid)
def sigmoid(z):return 1 / (1 + np.exp(-z))# 前向傳播
z = np.dot(x, w) + b
a = sigmoid(z)print(f"神經元輸出值: {a:.4f}")

輸出:

神經元輸出值: 0.5744

說明這個神經元“激活”了——認為輸入屬于某一類別的概率為 57%。


🧮 五、完整神經網絡的工作流程

  1. 輸入數據:一張圖像或一段文本的數值向量

  2. 前向傳播(forward):

    • 每層神經元對輸入加權、偏置、激活
  3. 計算損失函數:預測結果 vs 實際結果的誤差

  4. 反向傳播(backpropagation):

    • 根據誤差,反向計算每個權重對誤差的影響
    • 通過梯度下降算法調整權重和偏置
  5. 迭代訓練:重復多輪訓練,讓模型逐漸學會“正確答案”


📊 六、用圖表示前向傳播 & 反向傳播

         前向傳播:從左到右[輸入] → [隱藏層] → [輸出]↑反向傳播:從右到左

通過這種**“嘗試-反饋-修正”**機制,神經網絡就像學生做題不斷練習,逐漸掌握模式識別的能力。


🧠 七、神經網絡小項目:分類任務(手寫數字識別)

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report# 加載數據集
digits = load_digits()
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.3, random_state=42
)# 構建一個多層感知機神經網絡(MLP)
model = MLPClassifier(hidden_layer_sizes=(64,), max_iter=300)
model.fit(X_train, y_train)# 評估模型
y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))

這個簡單神經網絡模型能對**手寫數字圖片(0-9)**進行識別,準確率可達95%以上。


? 八、總結:神經網絡怎么工作?

步驟說明
輸入層接收特征數據
隱藏層處理特征并提取模式
激活函數引入非線性能力
輸出層給出預測結果(分類、回歸等)
損失函數衡量預測和真實值的誤差
反向傳播通過鏈式法則優化參數

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82771.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82771.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82771.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode熱題100 兩數之和

目錄 兩數之和題目解析方法一暴力求解代碼 方法二哈希代碼 感謝各位大佬對我的支持,如果我的文章對你有用,歡迎點擊以下鏈接 🐒🐒🐒 個人主頁 🥸🥸🥸 C語言 🐿?🐿?🐿…

在線服務器具體是指什么?

在線服務器主要是指一種能夠隨時進行網絡連接、管理和操作的服務器,在線服務器是通過互聯網或者是本地網絡,來為企業和用戶提供數據存儲和網絡服務的,在線服務器也可以是物理服務器或者是虛擬服務器,能夠根據遠程訪問工具進行管理…

OSPF綜合性實驗

實驗拓撲: 第一步:進行子網劃分 172.16.0.0/17 172.16.0000 00 00.00000000 -- area1 172.16.0.1/22 -- AR1--G0/0/0 172.16.0.2/22 -- AR2--G0/0/0 172.16.0.3/22 -- AR3--G0/0/0 172.16.4.1/22 -- AR1-- Lo0 172.16.8.2/22 -- AR2-- Lo0 172.16.12.3/…

WEB前端表單及表格標簽綜合案例

表單標簽綜合案例&#xff1a; 源代碼&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

實戰項目3(04)

??????目錄 ??????任務場景一 【r1配置】 【sw1配置】 任務場景二 【r1配置】 【sw1配置】 【sw2配置】 任務場景一 某公司網絡為了減少廣播包對網絡的影響&#xff0c;網絡管理員對網絡進行了VLAN劃分&#xff0c;完成VLAN劃分后&#xff0c;為了不影響VL…

tinyint(3)數據類型講解

TINYINT(3) 是數據庫中用于定義字段數據類型的一種寫法&#xff0c;常見于 MySQL 等數據庫系統。下面來詳細了解其含義和作用&#xff1a; 數據類型本質 TINYINT 屬于整數類型&#xff0c;在不同的數據庫系統中&#xff0c;它所占用的存儲空間和表示范圍通常是固定的。以 MyS…

[原創](現代Delphi 12指南):[macOS 64bit App開發]: 如何獲取自身程序的所在的目錄?

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

自定義prometheus exporter實現監控阿里云RDS

# 自定義 Prometheus Exporter 實現多 RDS 數據采集## 背景1. Prometheus 官網提供的 MySQL Exporter 對于 MySQL 實例只能一個進程監控一個實例&#xff0c;數據庫實例很多的情況下&#xff0c;不方便管理。 2. 內部有定制化監控需求&#xff0c;RDS 默認無法實現&#xff0c;…

開放原子大賽石油軟件賽道參賽經驗分享

億級以上網格油藏模型三維可視化 一、賽項背景 油藏數值模擬是油氣田開發中至關重要的一環。油藏數值模擬將儲層與井的數學模型離散求解&#xff0c;預測地下流體、能量等的動態變化&#xff0c;廣泛應用于油田產量評估、開發方案優化等。隨著計算機技術特別是并行技術的發展…

學習方法討論——正論科舉精神的內核

世界不存在絕對的善&#xff0c;可以很善&#xff0c;但很難找到絕對的善&#xff0c;總帶些副作用&#xff1b;世界上也不存在絕對的惡&#xff0c;可以很惡&#xff0c;但很難找到絕對的惡&#xff0c;可以嘗試舉例&#xff1b; 再者&#xff0c;物極必反&#xff0c;當對一個…

網絡不再神秘:如何有效利用服務器網絡流量探針進行監控?

目錄 一、流量探針到底是個啥&#xff1f; 二、別只是“部署了”&#xff0c;關鍵在“用得好” 1. 做到“最小粒度”數據采集 2. 結合時間窗口&#xff0c;構建行為基線 3. 利用標簽化管理&#xff0c;提升可讀性 4. 把探針輸出對接安全告警系統 三、那如何部署才合理&a…

uniapp(微信小程序)>關于父子組件的樣式傳遞問題(自定義組件樣式穿透)

在父組件中給子組件添加類名,子組件的樣式由父組件決定 由于"微信小程序"存在【樣式隔離機制】&#xff0c;且默認設置為isolated(啟用樣式隔離)&#xff0c;因此這里給出以下兩種解決方案&#xff1a; // 小程序編譯機制 1. 當 <style scoped> 存在時&#…

基于FastAPI框架的日志模塊設計

以下是一個基于FastAPI框架設計的日志模塊&#xff0c;結合SQLite數據庫實現增刪改查功能的完整實現方案&#xff1a; 1. 項目結構 your_project/ ├── app/ │ ├── logs/ # 日志模塊目錄 │ │ ├── models.py # 數據庫模型定義 │ │ …

面試題:C++虛函數可以是內聯函數嗎?

目錄 1.引言 2.示例 3.總結 1.引言 為什么C的虛函數和內聯函數這兩個看似矛盾的特性能否共存&#xff1f;這個問題實際上觸及了C編譯期優化與運行時多態性之間的微妙平衡。我發現這個問題不僅是面試中的常見陷阱&#xff0c;更是理解C深層機制很好的一個點。 虛函數可以被聲…

用python清除PDF文件中的水印(Adobe Acrobat 無法刪除)

學校老師發的資料&#xff0c;有時候會帶水印&#xff0c;有點強迫癥的都想給它去掉。用Adobe Acrobat試了下&#xff0c;檢測不到水印&#xff0c;無法刪除&#xff01;分析發現原來這類PDF文件是用word編輯的&#xff0c;其中的水印是加在了頁眉中&#xff01; 自己動手想辦法…

Oracle中自定義異常內置異常嵌套異常的捕獲處理

一、異常類型分類 類型說明示例內置預定義異常Oracle已命名異常&#xff08;如NO_DATA_FOUND&#xff09;查詢無數據時觸發內置非預定義異常未命名的Oracle錯誤&#xff08;需用PRAGMA EXCEPTION_INIT關聯&#xff09;ORA-02290&#xff08;違反檢查約束&#xff09;自定義異常…

《Flutter社交應用暗黑奧秘:模式適配與色彩的藝術》

暗黑模式已從一種新奇的功能演變為用戶體驗中不可或缺的一環。對于Flutter開發者而言&#xff0c;如何在社交應用中完美實現暗黑模式適配與色彩對比度優化&#xff0c;是一場充滿挑戰與驚喜的技術探索之旅。 暗黑模式&#xff0c;絕非僅僅是將界面顏色反轉這么簡單。從用戶體驗…

【kubernetes】通過Sealos 命令行工具一鍵部署k8s集群

一、前言 1、sealos安裝k8s集群官網&#xff1a;K8s > Quick-start > Deploy-kubernetes | Sealos Docs 2、本文安裝的k8s版本為v1.28.9 3、以下是一些基本的安裝要求&#xff1a; 每個集群節點應該有不同的主機名。主機名不要帶下劃線。所有節點的時間需要同步。需要…

視覺-語言-動作模型:概念、進展、應用與挑戰(上)

25年5月來自 Cornell 大學、香港科大和希臘 U Peloponnese 的論文“Vision-Language-Action Models: Concepts, Progress, Applications and Challenges”。 視覺-語言-動作 (VLA) 模型標志著人工智能的變革性進步&#xff0c;旨在將感知、自然語言理解和具體動作統一在一個計…

Java筆記4

第一章 static關鍵字 2.1 概述 以前我們定義過如下類&#xff1a; public class Student {// 成員變量public String name;public char sex; // 男 女public int age;// 無參數構造方法public Student() {}// 有參數構造方法public Student(String a) {} }我們已經知道面向…