本文主要分享了如何基於數學函數原理去理解機器學習的本質,並簡要介紹了機器學習的過程。
近期也是在做項目的過程中發現,其實AI產品經理不需要深入研究每一種演算法,能了解機器學習的過程,這其中用到哪些常用演算法,分別使用與解決哪些問題和應用場景,並基於了解的知識,去更好的建立AI產品落地流程、把控項目進度、風險評估,這個才是最關鍵的地方,演算法研究交給專業的演算法工程師,各司其職,相互配合。
基於最近看的一些文章和書籍,本文將重點分享,如何用數學函數去理解機器學習的過程,以及用數學原理指導產品工作的一些思考。
一、機器學習的本質
機器學習,即學習人類的分析、判斷、解決問題的能力。人的能力如何得來?通過長期的信息輸入,再經過大腦思考,最後輸出對事物的判斷。
那麼機器如何學習?通過大量的訓練數據,學習找規律,找到問題的理想最優解。所以,機器學習的本質其實是函數預測,即f:x->y。
圖片來源:網路
中學時期,我們常解的數據問題之一便是:求解方程。已知坐標(x1,y1),(x2,y2)…(xn,yn)求解n元n次方程,再將新的x帶入方程對應的y。機器學習的過程可以類比方程求解過程:
- 樣本數據:已知的坐標集D:(x1,y1),(x2,y2)…(xn,yn);
- 演算法:即求解函數的方法;
- 模型訓練:最後求解的方程或函數;
- 評估方法:將新的x帶入方程驗證函數「預測」是否正確。
與普通的函數不同的是,機器學習往往很難求解出完整的方程,通過各種手段求最接近理想情況下的未知項取值。以人臉識別為例,預測函數為:f:X(圖片臉部特徵)—>Y(身份),其中f則是通過機器學習后,具有人臉識別能力的模型。使用不同的機器學習方法訓練的模型不同,即對應的函數形式也不同。
機器學習解決的常見四類問題:分類、聚類、排序和推薦。
(1)分類問題:一般包括二分類和多分類的問題,二分類即非黑即白,比如垃圾郵件過濾;多分類問題,即有多種類別的輸出結果,比如圖像識別。
(2)聚類問題:在一個集合中,將相似度高的對象組成多個類的過程叫聚類。比如一些新聞類的應用,將未標註的數據通過聚類演算法來構建主題。
(3)排序問題:根據相關度、重要度、匹配度等,讓用戶在海量的信息中找到想要的信息,常見的應用場景,如搜索引擎。
(4)推薦問題:典型的應用場景,電商行業的千人千面,根據用戶的購買、收藏等行為,分析用戶的喜好,實現精準營銷。
在理解了機器學習的本質以及常見的問題類型后,下面將介紹機器學習的過程。
二、機器學習的過程
機器學習的過程主要分為三個步驟:樣本準備、演算法選取、模型評估。
1. 樣本準備
機器學習,需要先學習才能預測判斷,樣本則是機器學習的信息輸入,樣本的質量很大程度上決定了機器學習的效果。以人臉識別為例,其樣本是大量的人臉圖片。那麼,大量的樣本如何獲取?按數據來源分類,可分為內部樣本和外部樣本。
(1)內部樣本
內部樣本數據,一般可基於內部已積累的樣本數據,或通過對產品進行數據標註或者埋點,來收集更多維度的樣本數據。
(2)外部樣本
若數據的量級或豐富度不夠,則可能需要獲取一些外部樣本。比如通過搜索典型的大型公開數據集,或者數據爬取等方式,來獲取一些指定場景的新樣本。
2. 演算法選取
在機器學習的過程中,找到接近理想模型(函數)的方法即演算法。機器學習的常用演算法很多,不同的演算法,解決的問題不同,適用的場景也不同。
如下圖,比如解決聚類問題,一般使用無監督學習演算法,分類問題,一般使用有監督學習演算法:支持向量機SVM、神經網路等,目前神經網路依然是研究熱點之一。
(1)神經網路原理
神經網路是一種模仿人類思考方式的模型,就像飛機模仿鳥的形態一樣,神經網路也借鑒了生物學的神經元結構。神經元細胞主要由樹突、軸突和細胞體構成,樹突用於接收信號並傳遞給細胞體,細胞體處理信號,軸突輸出信號。神經網路結構與此類似,一個典型的單隱含層神經網路架構如下圖:
圖片來源:網路
- 輸入層:接收輸入數據,如圖片、語音特徵等;
- 隱藏層:承載數據特徵運算;
- 輸出層:輸出計算的結果;
其本質是,通過調整內部大量處理單元的連接關係、激勵函數和權重值,實現對理想函數的逼近。
(2)深度學習
深度學習是神經網路的一種演算法,目前在計算機視覺等領域應用十分廣泛,相比單隱藏層神經網路結構,深度學習神經網路是一種多隱藏層、多層感知器的學習結構。如下圖所示,增加更多的隱藏層后,網路能更深入得表示特徵,以及具有更強的函數模擬能力,能獲得更好的分類能力。
圖片來源:網路
深度學習三類經典的神經網路分別是:深度神經網路DNN、卷積神經網路CNN、和循環神經網路RNN。其中DNN、CNN一般解決計算機視覺、圖像識別等分類問題,RNN適用於自然語言處理等問題。
基於大量的樣本、選取合適的演算法進行模型訓練后,下一步則是對模型的預測效果進行評估。
3. 模型評估
模型評估一般可分為兩個階段:實驗階段和上線階段,在實驗階段能達到一定的使用標準指標,才能進入實際上線使用階段。
(1)實驗階段
為了評估模型的可用性,需要對模型的預測能力進行評價,其中很重要的一個評價指標就是準確率,即模型預測和標籤一致的樣本占所有樣本的比例。即選擇不同於訓練數據的,有標籤數據的測試集,輸入模型進行運算,計算預測的準確率,評估模型對於測試集的預測效果是否能模型可用指標。
(2)上線階段
在模型投入使用后,基於上線后的真實數據反饋,評估模型的能力,並基於新的反饋數據,持續迭代優化模型,提高或保持模型的泛化能力。
三、總結與思考
作為產品賦能的一個「工具」,產品化的整個流程可總結為:業務需求->轉化為業務函數>樣本數據獲取->選擇合適的演算法->模型訓練->內部評估->上線驗證迭代。
其實這個過程,最底層的邏輯還是基於數學建模原理的思路來解決問題,也可用來指導一些日常產品工作中的問題。比如,《增長黑客》中的增長槓桿、北極星指標等方法,其本質也是數據建模的原理。定義業務函數、確定影響因素、權重成本分析、判斷最優解決方案,評估上線反饋形成閉環。
所有,很多問題表面看起來各式各樣、各不相同,但抽象出來可能就是一些學科問題,比如數學、物理、經濟學等,聯想到我前段時間分享的一篇文章 《透過《奇葩說》論點,看背後的多元思維模型》中提到的多元思維模型核心觀點——越往深層次思考,越能挖掘事物本質,越接近學科原理。
願我們都能掌握一把尚方寶劍,一路「升級打怪」、「斬妖除魔」……
作者:小譚同學;微信公眾號:斜杠產品汪