模型、演算法與學習,有著怎樣的三角關係?
類似題目中那樣的說法,大家應該並不陌生。如果僅僅作為宣傳報道或日常交流,並沒有太大問題,畢竟只要大家能明白意思就OK。但若作為專(zhuang)業(bi)人士,在一些相對正式的交流場合,總是採用這樣的說法就顯得不那麼準確。
另一方面,我們在看一些人工智慧方面的資料時,經常會出現「神經網路」、「深度學習演算法」、「非監督學習」等高頻辭彙。這些詞語有時會在同一篇文章中交叉出現,看似描述的是同一件事情,但所要表達的意思似乎又不盡相同,初學者很容易就被繞暈了。
(有瑕疵的說法以及讓初學者眩暈的名詞時常出現)
- 模型、演算法與學習
想要明白這類說法的瑕疵在哪兒,以及這些常用的名詞究竟分別想表達什麼層面的含義,就要了解模型、演算法與學習三者的區別與聯繫。若用一句話概括,模型是一個從輸入到輸出的函數,演算法則是利用樣本生成模型的方法,學習(也可稱為訓練)則是利用樣本通過演算法生成模型的過程。下面舉一個大家相對熟悉,而且可能實際操作過的栗子:實驗數據的線性擬合,一個簡單而又經典的機器學習案例。
某位新司機去做電工實驗,通過實驗記錄了每一個電流值In所對應的電壓值Un;他希望藉此知道電壓U與電流I之間的關係,以便計算任意電流下的電壓值。於是他將測得的這些實驗數據作為樣本(此處,電流I為樣本的屬性,In為每個樣本的屬性值,Un為每個樣本的標記),然後假設電壓與電流之間滿足線性關係(模型)U=aI+b,那麼他就需要某種演算法來計算出模型中的未知參數a與b。於是他選擇了最小二乘法作為演算法,通過實驗數據得到了a與b,從而確定了模型;這個基於樣本通過演算法來確定模型的過程就是學習。
這個任務叫做「線性回歸」。當然像這種簡單的任務,早已不需要自己來編程計算了,有很多專門用於處理實驗數據的軟體,可以直接傻瓜式的操作。
(當年常用Origin來做實驗數據擬合,滿滿的回憶)無論是數據擬合、物體識別或是其他任務,模型才是直接進行「輸入——輸出」的。所以一切有關實際性能的度量,比如準確率、召回率、誤差等,都是針對模型而言的。模型可以分為不同的類型,比較經典的包括線性模型、決策樹、神經網路、貝葉斯分類器等。它們各有長短,沒有絕對的優劣,具體的選用需要根據實際任務的需求來確定。
基於同樣的樣本,不同的演算法(或同一演算法中參數的不同)所生成的具體模型也會不同,所以演算法的優劣對於模型的性能指標有著直接的影響。演算法可以看作一個與模型未知參數以及樣本相關的優化目標(比如最小二乘演算法,優化目標是讓全體樣本的標記與模型輸出值的均方誤差最小),通過使該優化目標最優,得出未知的模型參數。
學習根據樣本有無標記而分為不同方式,最常見的包括監督學習、無監督學習與半監督學習。若樣本數據均有標記(比如上文中的實驗數據),那麼這樣的學習過程被稱為監督學習;若樣本數據均無標記(比如一堆動物圖片,但沒人告訴機器哪張是貓,哪張是狗),則稱為無監督學習;若樣本數據一部分有標記,一部分沒有標記,則稱為半監督學習。樣本的標記好比我們解題時的「正確答案」,可以看作是人對機器的一種監督,這幾種學習方式也因此而得名。
- 沒有免費的午餐
對於演算法,有一個非常毀三觀的定理:NFL(No Free Lunch,沒有免費午餐)定理,即對於一個演算法A,若它在某些問題上比演算法B好,那麼必然存在另一些問題,針對這些問題B比A好。也就是說一個精心設計的演算法,如果想要用於所有任務,那麼它用於所有任務的「平均性能」與瞎猜(瞎猜也是一種演算法)是一樣的。所以演算法的選擇,以及演算法中參數的選擇,都需要根據具體的任務來針對性確定。這就好比一道佳肴,其烹飪的技法不在於多麼複雜精巧,而在於能與這道菜本身以及食材的特點相得益彰。
在實際操作中,往往會選擇不同的演算法以及調整某個演算法中的各參數取值來分別訓練出不同的模型,再通過對模型性能的比較選擇其中的最優者(該過程稱為「調參」)。一個演算法往往會有多個獨立參數,所以調參是一個相當繁重的工作,而且往往決定性地影響最終模型的性能。
- 總結
按慣例用一幅圖來進行總結。模型是樣本、演算法與學習三者的綜合體現,用準確率、召回率等一系列性能指標來衡量優劣;在樣本給定的情況下,演算法之於具體任務的好壞則直接決定了模型性能的優劣,但本身並不直接用這些指標來衡量;學習則是由樣本通過演算法而生成模型的過程。
弄清了模型、演算法與學習三者的關係,就能夠看出題目中的瑕疵了:準確率應該針對模型,而不是演算法;同時,自己也不會被各種名詞給繞暈了。畢竟,裝x失敗事小,工作中若是因為概念不清出現了偏差,那是要負責任的。歡迎關注微信公眾號「AI從入門到xx」,用一看就懂的語言分享AI知識與觀點。
推薦閱讀:
※燒餅修改器綜合、深度、模糊、聯合搜索使用技巧是什麼?
※Cousera deeplearning.ai筆記 — 超參數調試、批標準化、多分類、深度學習框架
※朵薇璐智能美妝體驗店,你了解嗎?
※洗車房,無人車的噩夢?
※日本研製AI機器乒乓球選手,對抗中國隊?