文章目錄
- 機器學習與深度學習
- 1. 什么是人工智能?
- 2. 機器學習、深度學習和人工智能又是什么關系?
- 3. 人工智能解決了什么問題?為什么需要人工智能?
- 4. 機器學習、深度學習常用術語
- 1)模型
- 2)數據集
- 3)樣本&特征
- 4) 向量
- 5)矩陣
- 6)假設函數&損失函數
- 7)擬合&過擬合&欠擬合
- 8)學習方式
- 9)回歸
- 10)分類&聚類
- 機器學習算法
- 1. 線性回歸
- 2. 邏輯回歸
- 3. 決策樹
- 4. K-近鄰算法
- 深度學習算法
- 1. 人工神經網絡
- 2. 反向傳播算法
- 3. 卷積神經網絡
- 4. Transformer
- 如何去理解模型?如何理解機器學習?
- 1. 什么是模型?
- 2. 什么是機器學習?
- 3. 總結
機器學習與深度學習
1. 什么是人工智能?
“人工智能”(Artificial Intelligence),英文縮寫為 AI 從字面意思來看,它指的是讓機器獲得像人一樣的智慧。
人工智能是計算機科學技術的一個分支,指的是通過機器和計算機來模擬人類智力活動的過程。
人工智能領域包括機器人、語言識別、圖像識別、自然語言處理、大模型等。
人工智能并不是人的智能,而是讓機器像人一樣思考,甚至于超過人類。
2. 機器學習、深度學習和人工智能又是什么關系?
如下圖所示:
機器學習是人工智能的一部分,而深度學習又是機器學習的一部分。
機器學習是一種功能、方法,或者更具體的說是一種算法,它能夠賦予機器進行學習的能力,從而使機器完成一些通過編程無法直接實現的功能。
但從具體的實踐意義來說,其實機器學習是利用大量數據訓練出一個最優模型,然后再利用此模型預測出其他數據的一種方法。
3. 人工智能解決了什么問題?為什么需要人工智能?
如圖:
問題:如果讓計算機知道上面的圖片中,是貓還是狗?
拆解問題:
輸入:一張圖片
輸出:貓 or 狗
你會發現不管你是用什么編程語言,多面牛逼的數據結構與算法,你都無法達到95%以上的正確率。
這個時候就可以使用AI來做這件事情了。
這個時候就可以使用AI來做這件事情了。
類型 | 正確率 |
---|---|
編程 | 70% |
機器學習 | 90% |
深度學習 | 99.99% |
4. 機器學習、深度學習常用術語
1)模型
模型這一詞語將會貫穿整個教程的始末,它是機器學習中的核心概念。
你可以把它看做一個“魔法盒”,你向它許愿(輸入數據),它就會幫你實現愿望(輸出預測結果)。
整個機器學習的過程都將圍繞模型展開,訓練出一個最優質的 “魔法盒”,它可以盡量精準的實現你許的 “愿望”,這就是機器學習的目標。
比如:房價預測模型,動物識別模型,車牌識別模型等等。模型訓練好后,就可以對現實世界的一些數據進行預測。
-
f(x) = y
-
x
為輸入 -
y
為輸出 -
f(x)
為模型
2)數據集
數據集,它表示一個承載數據的集合,如果說 “模型” 是 “魔法盒” 的話,那么數據集就是負責給它充能的 “能量電池”。簡單地說,如果缺少了數據集,那么模型就沒有存在的意義了。
數據集可劃分為 “訓練集” 和 “測試集”,它們分別在機器學習的 “訓練階段” 和 “預測輸出階段” 起著重要的作用。
-
訓練集:用于模型訓練
-
測試集:用于測試模型訓練的結果
3)樣本&特征
樣本指的是數據集中的數據,一行數據被稱為 “一個樣本”,通常情況下,樣本會包含多個特征值用來描述數據。
比如現在有一組描述人形態的數據 “1001 180 70 25”
如果單看數據你會非常茫然,但是用 “特征” 描述后就會變得容易理解,如下所示:
ID | 姓名 | 身高 | 體重 | 年齡 |
---|---|---|---|---|
1001 | 小明 | 180 | 70 | 25 |
1002 | 小馬 | 176 | 65 | 23 |
由上圖可知數據集的構成是 “一行一樣本,一列一特征” 。
特征值也可以理解為數據的相關性,每一列的數據都與這一列的特征值相關。
上述的「ID」「姓名」「身高」「體重」「年齡」就是一個個特征。
4) 向量
向量是機器學習的關鍵術語。向量也稱歐幾里得向量、幾何向量、矢量,指具有大小和方向的量。
可以形象地把它的理解為:帶箭頭的線段。箭頭所指:代表向量的方向;線段長度:代表向量的大小。
與向量對應的量叫做數量(物理學中稱標量),數量只有大小,沒有方向。
在機器學習中,模型算法的運算均基于線性代數運算法則,比如行列式、矩陣運算、線性方程等等。
5)矩陣
矩陣也是一個常用的數學術語,你可以把矩陣看成由向量組成的二維數組,數據集就是以二維矩陣的形式存儲數據的,你可以把它形象的理解為電子表格表現形式如下:
6)假設函數&損失函數
(1)假設函數
假設函數(Hypothesis Function)可表述為 y = f(x)
,其中 x
表示輸入數據,而 y
表示輸出的預測結果,而這個結果需要不斷的優化才會達到預期的結果,否則會與實際值偏差較大。(模型)
(2)損失函數
損失函數(Loss Function)又叫目標函數,簡寫為 L(x)
,這里的 x
是假設函數得出的預測結果 y
,如果 L(x)
的返回值越大就表示預測結果與實際偏差越大,越小則證明預測值越來越 “逼近” 真實值,這才是機器學習最終的目的。因此損失函數就像一個度量尺,讓你知道 “假設函數” 預測結果的優劣,從而做出相應的優化策略。
(3)優化方法
“優化方法” 可以理解為假設函數和損失函數之間的溝通橋梁。通過 L(x)
可以得知假設函數輸出的預測結果與實際值的偏差值,當該值較大時就需要對其做出相應的調整,這個調整的過程叫做 “參數優化”,常見的優化方法如:梯度下降法、牛頓方與擬牛頓法、共軛梯度法等等。
對于優化方法的選擇,我們要根據具體的應用場景來選擇應用哪一種最合適,因為每一種方法都有自己的優劣勢,所以只有合適的才是最好的。
上述函數的關系圖如下所示:
舉個例子:我設計了一個函數 y=f(x)
可以預測房價,然后我通過這個假設函數輸入房子的面積和位置預測了房價,然后拿預測的房價和市場上的掛牌價進行對比,和實際值直接的偏差即 L(x)
損失函數,如果偏差很小,說明不需要優化,如果偏差特別大,就需要考慮使用那些優化方法去優化我的假設函數。
7)擬合&過擬合&欠擬合
(1)擬合
形象地說,“擬合” 就是把平面坐標系中一系列散落的點,用一條光滑的曲線連接起來,因此擬合也被稱為 “曲線擬合”。
擬合的曲線一般用函數進行表示,但是由于擬合曲線會存在許多種連接方式,因此就會出現多種擬合函數。
通過研究、比較確定一條最佳的 “曲線” 也是機器學習中一個重要的任務。
如下圖所示,展示一條擬合曲線(藍色曲線):
如何理解擬合,舉個例子:上圖假設為超市每天的營業額,通過對歷史數據擬合出來一條擬合曲線,通過這個擬合曲線去預測未來的營業額。
(2)過擬合
過擬合(overfitting)與是機器學習模型訓練過程中經常遇到的問題,所謂過擬合,通俗來講就是模型的泛化能力較差,也就是過擬合的模型在訓練樣本中表現優越,但是在驗證數據以及測試數據集中表現不佳。
(我在房價預測模型中的表現特別好,每一個標本都吻合,但是一旦預測一個新的房源,預測值和實際值就相差太大)
過擬合問題在機器學習中經常遇到,主要是因為訓練時樣本過少,特征值過多導致的。
(3)欠擬合
欠擬合(underfitting)恰好與過擬合相反,它指的是 “曲線” 不能很好的 “擬合” 數據。
在訓練和測試階段,欠擬合模型表現均較差,無法輸出理想的預測結果。如下圖所示:
造成欠擬合的主要原因是由于沒有選擇好合適的特征值。
8)學習方式
(1)有監督學習
有監督學習(supervised learning),需要你事先需要準備好要輸入數據(訓練樣本)與真實的輸出結果(參考答案),然后通過計算機的學習得到一個預測模型,再用已知的模型去預測未知的樣本,這種方法被稱為有監督學習。這也是是最常見的機器學習方法。
(2)無監督學習
理解了有監督學習,那么無監督學習理解起來也變的容易。
所謂無監督學習(unsupervised learning)就是在沒有 “參考答案” 的前提下,計算機僅根據樣本的特征或相關性,就能實現從樣本數據中訓練出相應的預測模型。
一句話描述學習方式
監督學習:訓練數據包括正確的結果。
無監督學習:訓練數據不包括正確的結果。
強化學習:根據每次結果收獲的獎懲進行學習,根據結果實現優化。
監督學習包含:線性回歸 、邏輯回歸、決策樹、神經網絡、卷積神經網絡、循環神經網絡等其他大模型。
無監督學習:分類算法。
強化學習:Deepseek
預測結果(算法)分類
根據預測結果的類型,我們可以對上述學習形式做具體的問題劃分,這樣就可以具體到實際的應用場景中,比如有監督學習可以劃分為:
- 回歸問題
- 分類問題
如果預測結果是離散的,通常為分類問題;而為連續的,則是回歸問題。
9)回歸
連續和離散是統計學中的一種概念,全稱為 “連續變量” 和 “離散變量”。
比如身高,從 1.2m
到 1.78m
這個長高的過程就是連續的,身高只隨著年齡的變化一點點的長高。
10)分類&聚類
那么什么是 “離散變量” 呢?
比如超市每天的銷售額,這類數據就是離散的,因為數據不是固定,可能多也可能少。
聚類/分類問題,那什么是 “聚類”?
其實可以用一個成語表述 “物以類聚,人以群分”,將相似的樣本聚合在一起后,然后進行分析。
機器學習算法
1. 線性回歸
線性回歸 是一種用于預測連續值的監督學習算法。
它的核心思想是通過擬合一個線性模型來描述 自變量(特征)和 因變量(目標)之間的關系。
線性回歸就是用一條直線來預測數據。比如:
- 你知道房子越大,房價越高。
- 線性回歸就是找到一條直線,表示 “房子大小” 和 “房價” 之間的關系。
簡單例子,假設有以下數據:
- 房子 50 平米,價格 100 萬
- 房子 60 平米,價格 120 萬
- 房子 70 平米,價格 140 萬
線性回歸會找到一條直線,比如:
房價 = 2 × 面積 房價=2×面積 房價=2×面積
- 2 是斜率,表示每增加 1 平米,房價增加 2 萬。
- 如果房子是 80 平米,預測房價就是: 2 × 80 = 160 萬 2×80=160 萬 2×80=160萬
2. 邏輯回歸
邏輯回歸是最簡單的線性分類器,使用 sigmoid 函數對結果進行映射,一般適用于二分類問題,但也可以擴展到多分類問題。
邏輯回歸是用來做分類的,比如預測 “是/否”。它通過一個S形曲線(Sigmoid函數)把數據分成兩類。
假設:
- 如果你學習 2小時,考試 沒通過(0)。
- 如果你學習 4小時,考試 通過了(1)。
邏輯回歸會學習到:
- 學習時間越長,通過考試的概率越高。
- 比如,學習 3小時 時,通過概率是 50%。
邏輯回歸就是:
- 輸入一個值(比如學習時間)。
- 輸出一個概率(比如通過考試的概率)。
- 根據概率回答“是”或“否”。
3. 決策樹
決策樹是一種基于樹結構的分類器,通過遞歸地將數據集劃分成更小的子集來進行分類。
決策樹就是通過一系列 “如果…那么…” 的問題來做決定。比如:
- 如果天氣是晴天,那么不打籃球。
- 如果天氣是雨天且風大,那么不打籃球。
- 如果天氣是陰天,那么打籃球。
超級簡單例子
假設有以下數據:
- 天氣是晴天 → 不打籃球
- 天氣是雨天且風大 → 不打籃球
- 天氣是雨天且風小 → 打籃球
- 天氣是陰天 → 打籃球
決策樹會這樣劃分:
- 天氣是晴天嗎?
- 是 → 不打籃球
- 不是 → 繼續問
- 天氣是陰天嗎?
- 是 → 打籃球
- 不是 → 繼續問
- 風大嗎?
- 是 → 不打籃球
- 不是 → 打籃球
總結
決策樹就是通過一連串的 “是/否” 問題,一步步找到答案。就像玩猜謎游戲,不斷縮小范圍,直到得出結論! 😊
4. K-近鄰算法
KNN 是通過計算候選樣本和訓練樣本的距離,通過查找其最近的 K
個鄰居(訓練數據中的點),根據這些鄰居的類別或值來預測結果。
KNN 就是 “找鄰居” 來做預測。比如:
- 你想知道一個新水果是蘋果還是橙子,就看看它周圍的水果是什么。
- 如果周圍大多數是蘋果,就猜它是蘋果;如果大多數是橙子,就猜它是橙子。
深度學習算法
深度學習算法是目前為止應用最為廣泛的算法,包含非常多的種類,本篇文章只做簡單的介紹,針對算法不會進行大范圍的講解。
1. 人工神經網絡
**生物神經元工作原理:**多個神經樹突的電位使神經細胞的膜電位發生變化,且電位的變化是可以累加的,電勢達到某個閾值時,就會沿著軸突向下傳輸一個脈沖。
**人工神經元:**模擬生物神經元的工作原理,接收一個或多個輸入,并將它們相加以產生輸出,總和通過一個非線性函數,稱為激活函數或傳遞函數。
常見的激活函數:
Sigmoid 函數
ReLU函數
2. 反向傳播算法
反向傳播算法通過計算梯度并更新參數,逐步優化神經網絡。
它的核心是利用鏈式法則將誤差從輸出層傳播回輸入層,從而調整每一層的參數。
反向傳播是訓練神經網絡的 “秘訣”。它的作用是告訴神經網絡:“你哪里錯了,該怎么改”。
兩步走:
- 前向傳播:輸入數據,計算輸出結果。
- 反向傳播:從結果開始,倒著計算每一層的錯誤,然后調整參數(權重和偏置)。
反向傳播就是:
- 計算輸出和誤差。
- 倒著計算每一層該調整多少。
- 更新參數,讓結果更準確。
3. 卷積神經網絡
卷積神經網絡 是一種專門用于處理圖像、視頻等網格數據的深度學習模型。它的核心思想是通過卷積操作提取局部特征,并通過池化操作降低數據維度,最終通過全連接層進行分類或回歸。
CNN 是一種專門用來處理圖片的神經網絡。它的特點是:
- 卷積:用一個小窗口(卷積核)在圖片上滑動,提取局部特征(比如邊緣、紋理)。
- 池化:縮小圖片尺寸,保留重要信息,減少計算量。
- 全連接:把提取的特征轉換成最終的分類結果(比如圖片是貓還是狗)。
CNN 就是:
- 用卷積核提取圖片特征。
- 用池化縮小圖片。
- 用全連接層分類。
簡單來說,CNN 就是 “看局部,抓重點,做判斷”!
4. Transformer
說回 Transformer 本身,它擅長自然語言處理,在它出現之前,RNNs,LTSM等網絡模型是 NLP 領域的常用深度學習模型。
Transformer 是一種用來處理文字、語音等序列數據的模型。它的特點是:
-
注意力機制:讓模型能夠同時看到整個句子,而不是像 RNN 那樣一個字一個字看。
-
并行計算:可以同時處理整個句子,速度更快。
-
適合翻譯、生成任務:比如把英文翻譯成中文,或者寫一段話。
Transformer的核心是:編碼器-解碼器以及注意力機制。
Transformer 就是:
-
同時看整個句子。
-
分析詞與詞之間的關系。
-
根據關系生成結果(比如翻譯)。
簡單來說,Transformer 就是“一眼看全句,抓關系,出結果”! 😊
如何去理解模型?如何理解機器學習?
1. 什么是模型?
模型 就像是一個“魔法盒子”,你給它輸入一些東西,它就會輸出一些結果。比如:
- 你給模型一張貓的圖片,它會告訴你:“這是貓!”
- 你給模型一段話,它會告訴你:“這句話的意思是開心!”
例子:
想象你有一個 “水果分類器” 模型:
- 你給它一個蘋果,它會說:“這是蘋果!”
- 你給它一個香蕉,它會說:“這是香蕉!”
這個 “魔法盒子” 是怎么學會的呢?這就是 機器學習 的作用了!
2. 什么是機器學習?
機器學習 就是教 “魔法盒子” 學習的過程。就像教小朋友認東西一樣:
-
給例子:你告訴模型:“這是蘋果,這是香蕉。”
-
學習規律:模型通過例子,自己總結出蘋果和香蕉的區別。
-
自己判斷:以后你給它一個水果,它就能自己判斷是蘋果還是香蕉。
例子:
- 第一步:你給模型看很多蘋果和香蕉的圖片,并告訴它哪個是蘋果,哪個是香蕉。
- 第二步:模型學會:“蘋果是紅色的、圓圓的;香蕉是黃色的、彎彎的。”
- 第三步:你給模型一張新圖片,它就能自己判斷是蘋果還是香蕉!
3. 總結
- 模型 是一個 “魔法盒子”,用來解決問題(比如分類、預測)。
- 機器學習 是教這個 “魔法盒子” 學習的過程,通過例子讓它自己總結規律。
簡單來說:
- 模型 = 魔法盒子
- 機器學習 = 教魔法盒子學習
就像教小朋友認水果一樣,給例子、學規律、自己做判斷! 😊