一文讀懂AI基礎知識:核心流派、算法原理與實戰(zhàn)解析

0 評論 2106 瀏覽 4 收藏 20 分鐘

在當今科技飛速發(fā)展的時代,人工智能(Artificial Intelligence)作為模擬人類智能的前沿科技,是最具影響力的技術之一,其核心在于通過算法與數(shù)據(jù)驅動實現(xiàn)感知、學習與決策能力。人工智能廣泛應用于各個領域,是第四次工業(yè)革命的核心技術驅動力。本文將深入淺出地介紹 AI 的基礎知識,包括流派、算法思想、機器學習的任務類型與工作流程、以及其中涉及的數(shù)據(jù)和數(shù)學知識,并以鳶尾花分類為案例,拆解機器學習過程,幫助大家了解理論與實踐相結合的知識體系。

一、人工智能流派

人工智能(Artificial Intelligence)并不是簡單的“投入多少人工,就能產生多少智能”,它是通過算法與數(shù)據(jù)來實現(xiàn)智能化的決策。人工智能的算法代價很高,它不能解決所有問題,所有的智能都需要通過野蠻的數(shù)據(jù)計算來置換,從工程應用的角度來說,優(yōu)先選擇簡單有效的方式,人工智能是最后的選擇。人工智能主要有三大流派:

行為主義人工智能

擁有一套自動控制系統(tǒng),能感知外界的變化,并自動做出相應的反饋,比如工業(yè)機器人,包括:機械臂、機器人、機器狗、無人機等,還有比較熱門的具身智能。

符號主義人工智能

最典型的應用是專家系統(tǒng),缺點是泛化能力不足,比較依賴知識圖譜、大模型+知識庫,需人工構建知識庫,難以處理模糊的規(guī)則及超出知識庫之外的情況。

聯(lián)結主義人工智能

聯(lián)結主義主張模擬人腦設計,通過模仿人類的大腦,用全連接方式代替機器學習,深度學習就是聯(lián)結主義人工智能的典型應用,包括用卷積網絡用來生成圖像視頻、循環(huán)神經網絡和多頭(自)注意力機制對應時序數(shù)據(jù)、基于transformer架構的GPT模型等。特點是泛化能力強,善于處于非線性問題。

融合統(tǒng)一是發(fā)展趨勢

大模型對 NLP 的整合、多模態(tài)對 CV 和 NLP 的整合,以及具身智能(動作+多模態(tài)大模型)的發(fā)展,都在一定程度上推動著人工智能的加速融合,理論上聯(lián)結主義用數(shù)據(jù)驅動學習、符號主義用知識約束推理、行為主義用環(huán)境感知迭代,而現(xiàn)實任務往往需要三者結合,人們需要的是具有自主感知、認知、決策、學習、執(zhí)行以及社會協(xié)作能力的通用人工智能體,這種“混合智能”更接近人類的多維度認知方式。

二、人工智能算法思想

在數(shù)學當中有函數(shù)對應關系:y=f(x),在人工智能領域中黑盒思想是我們理解計算方式的第一法則,給計算機指定一個解決思路,具體的解決過程是計算機去完成。即有輸入:x,有轉換關系:F(x),有輸出:y。

傳統(tǒng)算法是基于規(guī)則的算法,適用于規(guī)則比較清晰的場景,比如在多輪對話任務的智能客服系統(tǒng),因為規(guī)則是人為規(guī)定的,所以這類系統(tǒng)對人的業(yè)務熟練度要求比較高,但是對計算機的性能要求相對低,特點是執(zhí)行速度快,算法和時間、空間的復雜度低。

人工智能算法是基于數(shù)據(jù)的經過訓練和推理的算法。訓練階段:從老數(shù)據(jù),一般叫訓練集中挖掘規(guī)律,構建算法規(guī)則,然后進行推理,即把規(guī)律作用于新數(shù)據(jù)(測試集),這種經過訓練推理的方法適用于規(guī)則比較模糊的場景,特點是執(zhí)行速度慢,對計算機性能的要求很高,需要大量的數(shù)據(jù)與算力,對算法工程師的要求低,執(zhí)行效果的魯棒性特別好,泛化能力極強,但解釋性差。

三、機器學習(Machine Learning)的任務類型與學習方式

廣義的機器學習主要是一個研究如何讓計算機通過數(shù)據(jù)學習規(guī)律,并利用這些規(guī)律進行預測和決策的過程。這里的Machine并非物理意義上的機器,可以理解為計算機軟硬件組織;Learning可以理解為一個系統(tǒng)或平臺經歷了某些過程后,性能得到提升,這個過程為學習,是個動態(tài)過程。

3.1 機器學習任務類型

分類:將數(shù)據(jù)樣本劃分到定義好的類別中,比如鳶尾花根據(jù)花瓣和花萼的屬性,將它分為3種類別,類別標簽可以用0、1、2來表示,通常放在樣本數(shù)據(jù)的最后一列。

回歸:根據(jù)輸入特征來預測一個值,跟分類任務不同,回歸任務預測的值通常是連續(xù)的值,比如根據(jù)房子的城市、地段、大小等預測房價。

聚類:將數(shù)據(jù)樣本劃分成不同的組,同一組的樣本具有較高的相似性,比如將具有相似消費行為的客戶分成一組,以便企業(yè)進行精準運營。

3.2 機器學習的學習方式

人工智能要按照訓練數(shù)據(jù)有無標簽可分為有監(jiān)督學習、無監(jiān)督學習和自監(jiān)督學習

有監(jiān)督學習:有特征、有標簽,在分類問題中,標簽是在有限的類別中選擇一個,比如:性別、左右、對錯等,在鳶尾花分類任務中,共幾百個樣本,4個特征,3個類別;回歸問題的標簽為連續(xù)變量,通常用來預測一個值:比如:身高、年齡、股價等。

無監(jiān)督學習:有特征、無標簽,即通過模型自主從數(shù)據(jù)中提取信息,比如降維算法、聚類算法,通過無監(jiān)督學習可以將高維數(shù)據(jù)降維,去除冗余信息,降低計算成本。

自監(jiān)督學習:base大模型的訓練進行學習,讓模型自動從數(shù)據(jù)中挖掘出有價值的特征,比如利用大量無標簽數(shù)據(jù)進行預訓練,學習到通用的特征表示后再進行進行微調,提升模型的性能。

四、機器學習的工作流程

如果決定要用人工智能去解決一個問題,具體的步驟為:

1.分析問題

從宏觀角度分析問題,確定輸入和輸出以及任務類型,比如做一個中英翻譯器,輸入中文,輸出英文;房價預測輸入房子特征信息,輸出價格;人臉檢測輸入圖片,輸出檢測到的人臉。

2. 采集數(shù)據(jù)

根據(jù)輸入和輸出構建數(shù)據(jù)集,在機器學習領域,數(shù)據(jù)集通常以二維表格形式呈現(xiàn),一行一個樣本,一列一個特征,最后一列是標簽或回歸數(shù)值。按照訓練數(shù)據(jù)的特點,可選擇對數(shù)據(jù)進行預處理,常見的機器學習數(shù)據(jù)預處理方法有:

  • 中心化:數(shù)據(jù)范圍較大、偏移某個基準明顯,減去均值使數(shù)據(jù)范圍圍繞0點波動,這樣可以減少數(shù)據(jù)的偏移影響,讓模型更容易學習數(shù)據(jù)的規(guī)律。
  • 標準化:特征尺度、量綱不同、且算法關注分布規(guī)律時,將數(shù)據(jù)減均值再除以標準差,縮放到均值為0、標準差1的正態(tài)分布,確保不同特征在模型訓練中具有相同的重要性。
  • 歸一化:不同數(shù)據(jù)取值范圍懸殊,例如,一個特征的取值范圍在 0 到 1000 之間,而另一個特征的取值范圍在 0 到 1 之間,將每個樣本數(shù)據(jù)減去樣本最小值再除以樣本的最大值減去最小值,會將數(shù)據(jù)壓縮到[0,1]之間,使得不同特征在模型訓練中具有相同的權重,有助于提高模型的收斂速度和穩(wěn)定性。

3. 模型選擇與訓練

根據(jù)任務和數(shù)據(jù)特點遴選一種合適的算法,將處理好的數(shù)據(jù)給算法去學習,完成模型的訓練,挖掘出輸入與輸出之間具體的映射關系。常見的分類算法有KNN:K值鄰近算法、GNB:高斯貝葉斯算法、DT:決策樹算法、SVM:支持向量機算法、RF:隨機森林算法、EL:集成學習算法等,在實際案例中需要遵循引入模型、構建模型、訓練模型的過程。

4. 模型評估

對訓練的模型進行驗證和調參工作,通過各種評估指標來衡量模型的效果,如準確率、召回率、F1 值等,找到預測效果最理想的模型參數(shù)。

5. 上線部署

工程部署、系統(tǒng)集成,進行本地化部署、云端部署或者邊緣部署,云端部署適合數(shù)據(jù)量較大、計算資源需求高的場景;邊緣部署更注重實時性和數(shù)據(jù)隱私,適用于對響應速度要求高的場景,如政務系統(tǒng)、智能安防監(jiān)控等。

6. 模型推理

把規(guī)則作用于新的數(shù)據(jù)進行預測,并依據(jù)新的數(shù)據(jù)不斷迭代升級。

機器學習的經典案例:鳶尾花分類任務

1. 分析問題,確定輸入和輸出

在人工智能算法中,所有的實體都需要變成數(shù)字才能被計算和預測,如何將一個實體數(shù)字化呢?一般用這個實體的特征或者屬性來描述,比如:顏色、大小、重量等,這就需要對業(yè)務有足夠的了解,比如鳶尾花的四個屬性(特征):花瓣長、花瓣寬、花萼長、花萼寬,最后一列為類別編號。

2. 數(shù)據(jù)采集與預處理

比如每個類別各采集50朵花,按照一行一個樣本,一列一個特征組成特征矩陣。對樣本進行切割,分為訓練集、測試集和驗證集,通常會按照60:20:20 或者70:15:15的比例來劃分。本次案例分為訓練集和測試集,測試集占20%,并確保每次切分的數(shù)據(jù)保持一致。

3. 選擇算法

完成輸入到輸出的映射,我們選擇 KNN 算法進行訓練。KNN 算法通過計算測試集與訓練集每個特征之間的距離,選擇距離最近的 K 個樣本,再根據(jù)這 K 個樣本的類別來判斷測試樣本的類別。

4. 模型評估與部署

用準確率評估鳶尾花分類任務,最終得到的準確率為96.7%,這是一個比較不錯的數(shù)據(jù),表明 KNN 算法在該任務上表現(xiàn)良好,可以應用到相似場景中,比如在農業(yè)鄰域中,通過提取植物的特征(如葉片形狀、顏色、花朵特征等)對不同品種進行分類。

五、人工智能中的數(shù)據(jù)和數(shù)學知識

5.1 python數(shù)據(jù)三劍客

人工智能依賴向量化和矩陣化編程,與線性代數(shù)密切相關,比如經常用到矩陣乘法,計算過程需要高性能的計算資源,在數(shù)據(jù)科學中按照維度定義和處理數(shù)據(jù)。python為人工智能提供了豐富的庫和工具,最常用的庫有:

  • Numpy:進行科學計算,向量化、矩陣化計算,ndarray是 NumPy 庫的核心數(shù)據(jù)結構,是一個具有相同數(shù)據(jù)類型(如整數(shù)、浮點數(shù)等)和固定大小的多維容器,容器中每個元素都有相同的數(shù)據(jù)類型,并且在內存中是連續(xù)存儲的。例如,一維的ndarray就像一個列表,二維的ndarray類似矩陣,而更高維度的ndarray可以表示更復雜的數(shù)據(jù)結構,在ndarray結構中,標量(scalar)、矢量(vector)、矩陣(matrix)和張量(tensor),分別表示0維、1維、二維和三維以上的數(shù)據(jù)。
  • Matplotlib:對數(shù)據(jù)可視化,用一行代碼就能實現(xiàn)繪圖,直觀理解數(shù)據(jù)的分布和特征。
  • Pandas:二維數(shù)據(jù)分析神器,提供了高效的數(shù)據(jù)結構和數(shù)據(jù)處理函數(shù),方便對二維數(shù)據(jù)的讀取、清洗、轉換等操作。

深度學習常用的框架有pytorch、tensorflow,pytorch可在官網下載,支持安裝gpu和cpu版本。

5.2 數(shù)學知識

矩陣

人工智能中處理的大量數(shù)據(jù)通常以矩陣形式存儲和表示,機器學習中對矩陣的處理包括:

  • 矩陣分解:用于抽取信息,比如矩陣的特征向量和特征值。
  • 特征分解:進行特征分解的矩陣必須是方陣,奇異值分解可以適用于任何矩陣,在PCA降維算法中,能幫助提取數(shù)據(jù)的主要特征,降低數(shù)據(jù)的維度,從而提高算法的效率和性能。假設有三個矩陣,分別為A:[m, k],B:[k, n],C:[m, n],則AB=C。

樣本相似度度量

1)歐氏距離

建立個直角坐標系,把每個樣本看作一個點,有多少特征就有多少維度的歐氏空間,歐氏距離是歐氏空間中用于衡量兩個點之間距離的一種度量方式,比如在聚類算法中衡量數(shù)據(jù)點之間的相似性;在鳶尾花分類任務中,遍歷計算測試集與訓練集中各個樣本的歐氏距離,找出與測試集樣本最接近的K個點,距離越小越相似。

在二維平面上,設兩個點α(x1, x2)、β(x3, x4),

則α和β兩點之間的歐氏距離為:

2)點乘積和余弦相似度

每個樣本可以看作一個向量空間內的向量,樣本的相似度度量方法可以用余弦相似度和點乘積來計算

向量的模(長度):

點乘積:

點乘積的值不僅與向量的模(長度)有關,還和向量的方向相關,當兩向量夾角為0時,點乘積值最大,兩個向量越相似,反之亦然。

余弦相似度:

余弦取值范圍在[?1,1]之間,值越接近 1 表示兩個向量的方向越趨同,則樣本越相似;值越接近 -1 表示兩個向量方向相反;值接近 0 表示兩個向量近乎正交,即樣本差異較大。

正太分布

在現(xiàn)實世界中,許多數(shù)據(jù)都近似服從正態(tài)分布,在機器學習中,我們把每個特征數(shù)據(jù)看作相互獨立,通常也假設數(shù)據(jù)服從正態(tài)分布,均值和方差是描述正態(tài)分布的關鍵參數(shù),在計算時可以簡化模型計算的復雜度。除此之外,在數(shù)據(jù)預處理時,對于數(shù)據(jù)的中心化、標準化和歸一化處理也需要均值和標準差。

均值:均值是一組數(shù)據(jù)的算術平均數(shù),反映了特征數(shù)據(jù)的中心位置,對于一組數(shù)據(jù)x1, x2,…xn,其均值為:

方差:方差用來衡量一組數(shù)據(jù)的離散程度,方差越大,數(shù)據(jù)分布越分散;方差越小,數(shù)據(jù)分布越集中。對于一組數(shù)據(jù)x1, x2,…xn,其方差為:

上圖顯示均值都為0時,擁有不同方差數(shù)據(jù)的分布特點,其中x代表均值,var代表方差

理論上我們需要求出所有數(shù)據(jù)的準確方差值,在實際計算場景中,數(shù)據(jù)量往往非常大,獲取和計算數(shù)據(jù)成本太高,需用樣本方差代替總體方差去計算。整體方差是在所有數(shù)據(jù)參與的前提下計算出的值,樣本方差是從總體中抽取一部分數(shù)據(jù)作為樣本。

標準差:標準差是方差的平方根,與方差的作用類似也是用于衡量數(shù)據(jù)的離散程度,正太分布以均值為中心,標準差越大,數(shù)據(jù)分布越分散,圖像越扁平;方差越小,數(shù)據(jù)分布越集中,圖像越窄長。對于一組數(shù)據(jù)x1, x2,…xn,其標準差為:

本文由 @AI產品薇薇 原創(chuàng)發(fā)布于人人都是產品經理,未經許可,禁止轉載。

題圖來自 Unsplash,基于CC0協(xié)議。

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!