自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

算法與模型的淺析

原創(chuàng) 精選
人工智能 機(jī)器學(xué)習(xí)
算法和模型都有著廣泛的一般性意義。具體地,在機(jī)器學(xué)習(xí)領(lǐng)域,算法是在代碼中實(shí)現(xiàn)并在數(shù)據(jù)上運(yùn)行的過程。模型由算法輸出,由模型數(shù)據(jù)和預(yù)測算法組成。機(jī)器學(xué)習(xí)算法提供了一種自動(dòng)編程的類型,其中機(jī)器學(xué)習(xí)模型代表程序。明晰了概念,就有了進(jìn)一步學(xué)習(xí)和討論的基礎(chǔ)。

討論問題的前提是概念的澄清,概念的混淆是研發(fā)溝通中的一大障礙,極大地影響了溝通的效率。在人工智能尤其是機(jī)器學(xué)習(xí)領(lǐng)域,算法和模型是兩個(gè)相關(guān)而又有區(qū)別的兩個(gè)概念,弄清二者的含義和聯(lián)系可以使我們討論的問題更加明確。

什么是算法?

在計(jì)算機(jī)領(lǐng)域,算法有著明確的定義。為了通俗起見,這里引用百度百科對算法的描述:

算法(Algorithm)是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機(jī)制。

也就是說,對于算法而言,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。算法中的指令描述的是一個(gè)計(jì)算,當(dāng)其運(yùn)行時(shí)能從一個(gè)初始狀態(tài)和(可能為空的)初始輸入開始,經(jīng)過一系列有限而清晰定義的狀態(tài),最終產(chǎn)生輸出并停止于一個(gè)終態(tài)。

不同的算法可能用不同的時(shí)間、空間或效率來完成同樣的任務(wù),一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來衡量。

什么是模型?

模型是一個(gè)概念外延非常廣泛的詞,這里同樣引用百度百科中的描述:

通過主觀意識(shí)借助實(shí)體或者虛擬表現(xiàn),構(gòu)成客觀闡述形態(tài)結(jié)構(gòu)的一種表達(dá)目的的物件(物件并不等于物體,不局限于實(shí)體與虛擬、不限于平面與立體)。

模型可以是模型玩具,科學(xué)模型,經(jīng)濟(jì)學(xué)模型,邏輯模型等等,例如,地球儀就是就是地球的模型,理性人經(jīng)濟(jì)人是經(jīng)濟(jì)學(xué)關(guān)于人行為的模型,計(jì)算機(jī)網(wǎng)絡(luò)中的7層協(xié)議是網(wǎng)絡(luò)協(xié)議的模型等等。

其中,科學(xué)模型是科學(xué)研究中對一類研究方法的通稱,使用數(shù)學(xué)公式、電腦模擬或簡單的圖示來表示一個(gè)簡化的自然界,透過分析這個(gè)模型,以期能夠進(jìn)一步了解科學(xué),包括說明、驗(yàn)證假說、或資料分析。依據(jù)不同需求,科學(xué)模型可以借由概念模型幫助了解現(xiàn)象,操作模型給出操作型定義,數(shù)學(xué)模型幫助量化,以及用圖像模型將抽象概念可視化。

需要重點(diǎn)關(guān)注的是數(shù)學(xué)模型。數(shù)學(xué)模型是關(guān)于部分現(xiàn)實(shí)世界以及為一種特殊目的而作的一個(gè)抽象的、簡化的結(jié)構(gòu),用字母、數(shù)字及其它數(shù)學(xué)符號建立起來的等式或不等式,以及圖表、圖像、框圖等描述客觀事物的特征及其內(nèi)在聯(lián)系的數(shù)學(xué)結(jié)構(gòu)表達(dá)式。

簡單來說, 模型是對事物的抽象。

機(jī)器學(xué)習(xí)中的算法與模型

在具體的機(jī)器學(xué)習(xí)領(lǐng)域,算法和模型也有著更為具體的定義。

機(jī)器學(xué)習(xí)中的"算法"

機(jī)器學(xué)習(xí)中的算法是指一種具體的計(jì)算方法,也就是如何求解全局最優(yōu)解,并使得這個(gè)過程高效而且準(zhǔn)確,本質(zhì)上就是計(jì)算機(jī)算法。

機(jī)器學(xué)習(xí)算法執(zhí)行“模式識(shí)別”,從數(shù)據(jù)中“學(xué)習(xí)”,或者對數(shù)據(jù)集進(jìn)行“擬合”。機(jī)器學(xué)習(xí)算法可以用偽代碼來描述,可以用任何一種現(xiàn)代編程語言來實(shí)現(xiàn),對算法效率的分析和描述也是如此。多種機(jī)器學(xué)習(xí)算法可以在一起實(shí)現(xiàn),并在具有標(biāo)準(zhǔn)應(yīng)用程序編程接口(API)的庫中提供。一個(gè)流行的例子是 scikit-learn 庫,它提供了 Python 中許多分類、回歸和聚類等機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)。

機(jī)器學(xué)習(xí)中的“模型”

機(jī)器學(xué)習(xí)中的“模型”是運(yùn)行在數(shù)據(jù)集上的機(jī)器學(xué)習(xí)算法的輸出,表示機(jī)器學(xué)習(xí)算法所學(xué)到的內(nèi)容,即用于進(jìn)行預(yù)測所需的規(guī)則、數(shù)字和任何其他特定算法的數(shù)據(jù)結(jié)構(gòu)。也就是說,機(jī)器學(xué)習(xí)模型是一個(gè)由機(jī)器學(xué)習(xí)算法自動(dòng)編寫、創(chuàng)建或?qū)W習(xí)的程序,用來解決一類具體的問題。在某種意義上看,數(shù)據(jù)結(jié)構(gòu)可以看作是一種模型,下面是BTree和神經(jīng)網(wǎng)絡(luò)模型的對比。

圖片

機(jī)器學(xué)習(xí)要考慮的主要問題是學(xué)習(xí)什么樣的模型。例如,在監(jiān)督學(xué)習(xí)過程中,模型就是所要學(xué)習(xí)的條件概率分布或決策函數(shù)。數(shù)據(jù)構(gòu)成的樣本空間中可能包含各種條件概率分布或者決策函數(shù),每一個(gè)都對應(yīng)著一個(gè)模型,那么這個(gè)樣本空間中的模型個(gè)數(shù)就有多個(gè)。

機(jī)器學(xué)習(xí)中與模型相關(guān)的另一個(gè)概念是策略。策略是從樣本空間中挑選出參數(shù)最優(yōu)的模型的準(zhǔn)則,模型的分類或預(yù)測結(jié)果與實(shí)際情況的誤差(損失函數(shù))越小,模型就越好。也就是說,策略就是通過引入損失函數(shù)的方式來度量模型的好壞。

機(jī)器學(xué)習(xí)中算法與模型的關(guān)系

算法和模型往往都是分不開的。算法是一類問題的解答,是模型建立流程的一個(gè)環(huán)節(jié),也是賦予模型“思考”能力的環(huán)節(jié)。而模型則是一系列算法的數(shù)學(xué)表達(dá),同時(shí)包含了數(shù)據(jù)以及任務(wù)的概念。因此,我們評估一個(gè)模型的好壞,而不是評估算法的好壞,算法只有其適用環(huán)境和場景。

就機(jī)器學(xué)習(xí)而言,通俗來講,模型可以近似地理解為目標(biāo)函數(shù),算法則是求解該目標(biāo)函數(shù)的方法。所有問題都可以有多種建模的方法,比如分類問題可以用SVM或者NB來做,但它們的目標(biāo)函數(shù)不同。例如,在決策樹中,其模型可以是二叉樹模型,如果寫成目標(biāo)函數(shù),那么則是一個(gè)分段函數(shù)。有了這個(gè)目標(biāo)函數(shù),怎么求解呢?一種典型的算法是貪心算法,或者叫啟發(fā)式算法,從根開始,采取一定的分裂原則進(jìn)行分裂,這個(gè)分裂的原則是信息增益最大化,Gini系數(shù)方差最小。

基于決策樹的方案及其演化變種,到目前為止,其根本采用的方式都是啟發(fā)式分裂,無論是后續(xù)的Bagging,Boosting,隨機(jī)森林,深度森林,算法在本質(zhì)上都沒改變,只是采用的模型在變化而已。

小結(jié)

算法和模型都有著廣泛的一般性意義。具體地,在機(jī)器學(xué)習(xí)領(lǐng)域,算法是在代碼中實(shí)現(xiàn)并在數(shù)據(jù)上運(yùn)行的過程。模型由算法輸出,由模型數(shù)據(jù)和預(yù)測算法組成。機(jī)器學(xué)習(xí)算法提供了一種自動(dòng)編程的類型,其中機(jī)器學(xué)習(xí)模型代表程序。明晰了概念,就有了進(jìn)一步學(xué)習(xí)和討論的基礎(chǔ)。

責(zé)任編輯:武曉燕 來源: 喔家ArchiSelf
相關(guān)推薦

2022-10-27 16:01:41

AbilityStage模型FA模型

2024-09-09 07:46:16

2021-06-29 09:34:00

洋蔥模型中間件

2024-03-25 11:37:40

機(jī)器學(xué)習(xí)人工智能進(jìn)化算法

2020-07-13 14:50:51

機(jī)器學(xué)習(xí)模型算法

2011-06-20 15:13:08

Qt 對象模型

2020-09-23 14:20:07

Kubernetes容器網(wǎng)絡(luò)模型

2009-08-11 14:51:11

C#數(shù)據(jù)結(jié)構(gòu)與算法

2009-08-11 14:43:42

C#數(shù)據(jù)結(jié)構(gòu)與算法

2023-08-08 14:56:27

ParcelRustDemo

2020-12-16 05:46:58

算法加密算法MD5

2018-02-09 11:08:49

區(qū)塊鏈算法主流

2017-07-07 16:36:28

BIOIO模型 NIO

2009-09-15 10:12:37

LINQ To SQL

2009-08-11 13:54:54

約瑟夫環(huán)算法C#算法

2017-10-26 14:59:47

MybatisHibernate數(shù)據(jù)庫

2023-09-21 16:03:47

大數(shù)據(jù)

2009-08-11 14:30:32

C#數(shù)據(jù)結(jié)構(gòu)與算法

2017-08-31 10:48:59

CNN 模型壓縮算法

2021-09-27 22:49:13

GoC 指針
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號