產品經理入門機器學習:AIPM從入門到實踐

5 評論 8697 瀏覽 90 收藏 23 分鐘

本文通過示例的方法幫助讀者入門機器學習算法,希望你能夠從中有所啟發和收獲。

在生活中,我們會依靠經驗來處理大量的事情,而形成經驗就需要通過大量的實踐,總結出事物的重要特征和結果之間的規律。

比如,我們經常會去超市,在選購水果時,會通過顏色、形狀等特征對水果口味進行預判。那么,我們是怎樣具備的這種預判經驗呢?正是由于我們在生活中品嘗水果時,不斷積累與發現的水果的顏色、形狀等特征與口味之間的對應規律,例如全紅色的蘋果會比半青色半紅色的要甜一些。

同樣,為了能夠更好的完成工作,我們也需要不斷從實踐中總結各種業務規律。例如,在電商平臺的用戶購物場景中,為了能夠增加用戶的購買金額,運營人員需要設置為用戶推薦的關聯購買商品。

此時,為了使推薦出的商品得到最大的轉化率,需要運營人員分析歷史訂單數據,從中找出商品關聯購買的規律。但是,人工尋找并分析出每一個商品的關聯規律,并不是一件容易的事情,需要消耗大量的時間與人力。并且隨著商品不斷推出新款,市場中商品流行趨勢的變化等因素影響,已經形成的規律也需要不斷進行及時的調整更新。

那有沒有辦法,讓計算機為我們做類似這樣的總結規律的工作呢?這個答案正是機器學習技術。

1、機器學習是什么?

可以將機器學習理解為:讓機器從大量的數據中自行尋找潛在規律,并應用此規律來識別或預測新的數據。機器學習所取得的成果稱為模型,這個模型類似于傳統產品開發出的后臺服務程序,在實際使用中也是通過前端程序獲取輸入數據,經過模型處理后輸出結果。只不過,研發這個模型的過程變化了。

研發模型并不是通過研發工程師編寫而成,也不需要提供嚴密的業務邏輯與判斷流程文檔,而是通過訓練機器學習模型完成。

圖1 機器學習模型

在開始訓練機器模型前,必須先為模型準備一個唯一的任務目標,因為一個模型只能完成一個任務目標。然后進入訓練機器學習模型的三個步驟,如圖1。

第一步,根據任務目標確定算法。關于算法方面,最為主要的算法類型有分類算法、回歸算法和聚類算法等。不同的算法類型可以解決不同的業務問題,例如:分類算法可以識別或預測分類類型;回歸算法可以預測連續型數值,這里所說的連續型數值是指包含若干位小數且取值密集的數值;聚類可以挖掘出不同數據的分組關系,從而可以用于數據分析與知識發現。

算法類型下會很多種有不同的具體算法。例如分類算法下會有K鄰近、樸素貝葉斯、隨機森林等,不同的算法在完成同一的任務目標的訓練和應用時,會體現出不同的特性。這里所說的特性,包括訓練與應用需要消耗的計算資源/存儲資源、應用的準確性等方面。

第二步,根據算法的學習方式準備好數據。這里所說的學習方式主要有三類:有監督學習、無監督學習和半監督學習。但在講解學習方式之前,需要先了解幾個概念:

  • 訓練樣本是指為訓練機器學習模型所需要準備的數據,這里的數據可以是圖片、文本或是表格數據等。如圖2,是預測芒果口味的訓練樣本數據。
  • 特征就是樣本數據的屬性,如圖2中包含兩個特征[顏色、大小]。這里需要強調的是,在機器學習過程中,選擇特征是一項非常重要的工作,通常是由在目標業務領域中有較多經驗的人參與,并且過程中需要發揮很多智力行為。因為特征選擇的好壞直接決定最終模型的好壞。例如上面的案例中,如果增加包裝類型的屬性,也許就與芒果口味的關系不大了。類似增加這種無關或相關性非常低的特征,不但需要投入更多的計算資源,而且還可能對訓練的模型產生干擾。
  • 特征值就是樣本數據對應特征的參數值。
  • 標記可以理解為樣本數據的結果,是機器學習模型將要預測的目標數據。如圖2,口味便是標記項。

圖2 樣本數據

接下來講解三種學習方式,這三種方式的區別在于訓練樣本中是否會包含標記值。

有監督學習是指訓練樣本中的所有樣本數據都包含標記值的學習方式。這種方式將學習到特征值與標記值之間的對應規律。在很多情況下,樣本數據的標記值是由人工標記的,例如在準備語音識別訓練樣本時,是由人工標記的文本信息。因此也不難看出,為了得到帶有標記值的樣本數據,是需要付出大量的人工處理工作。

無監督學習是指訓練樣本中的所有樣本數據都不包含標記值的學習方式。當需要了解一組數據存在的分組關系時,便可以用到無監督學習。

半監督學習是指訓練樣本中只有部分樣本數據包含標記值的學習方式。當沒有足夠人力標記所有的樣本數據,并且稍稍降低對模型預測精度的要求時,便可以使用半監督學習。相比無監督學習會有較高的精度,相比有監督學習可以大幅降低人工標記成本。例如,在擁有上百萬篇文章資訊類的網站中進行文章分類標記,便可以采用半監督學習,只需要對訓練樣本進行少量的人工標注處理,便可以得到較高精度的分類結果。

第三步,使用訓練樣本數據與算法進行模型的訓練。本步驟首先需要由AI工程師進行算法的參數設置。之后進入機器自我訓練的過程,該過程可能會需要很長時間,甚至是幾天時間。

這個步驟需要注意三點:

  • 第一,由于機器學習算法執行過程具有一定的隨機性,在保持算法、數據與算法參數不變的情況下,多次運行機器學習訓練后得到的結果可能不相同;
  • 第二,為了能夠訓練出較高性能的模型,通常會同時選擇多個算法進行訓練,并對訓練結果進行比較,最終選擇最高性能的模型投入使用;
  • 第三,機器學習訓練得到的模型是個“黑箱”,一般情況下不可能通過調整模型來優化機器學習模型的性能。

到現在為止,我們通過訓練得到了一個機器學習模型,該模型可以嵌入到前端程序中用于識別或預測任務。上文說過,不同的算法類型能夠解決不同類型的問題,而入門機器學習最多被提及的算法類型有分類算法、回歸算法與聚類算法,那么下面就詳細講解這三種算法類型。

2、理解機器學習中的分類、回歸與聚類

(1)分類算法

分類算法是一種有監督學習,目標是學習到訓練樣本數據中多個特征值與標記值的對應規律,訓練出模型稱為分類器。使用訓練好的分類器,輸入新數據的全部特征值時,輸出識別或預測的結果。

這里所說的識別與預測對于算法模型來說并沒有實質上的區別,僅是在實際使用分類器時,描述業務目標的方式不同。識別更強調對當前信息的辨認,而預測更強調對尚未發生的事情的推測。

分類算法分為二分類與多分類。二分類的意思是結果會包含正類與反類,比如當前任務是識別出貓的圖片,那么貓的圖片就為正類,其他圖片就為反類。多分類可以完成多種類型的識別,例如在識別新聞文章類型時,多分類分類器可以識別出文章屬于經濟、娛樂、體育等多種類型中的一個或多個類型。

通常情況下可以使用多個二分類分類器的方式實現。這時先對問題進行拆分,然后為拆出的每個二分類任務訓練一個分類器。例如上面的新聞分類例子中,可以拆解為三個分類器:經濟類型分類器、娛樂類型分類器、體育類型分類器,其中每一個分類器都包含一個正類與一個反類。

下面講解一個二分類在業務中的應用示例。

案例:

一家汽車銷售公司,擁有完備的客戶歷史消費和潛在客戶詳細資料數據庫?,F公司準備舉辦一次汽車促銷活動。為了能夠提升本次促銷活動的銷售量,公司準備為潛在客戶寄送一份精美的汽車銷售材料和一份禮品。但活動經費有限,僅能寄送給1000名潛在客戶。

任務目標:選出1000名寄送資料與禮品的潛在客戶,并盡可能最大化這些潛在客戶的購買轉化率。

應用分類算法:

  • 第一步,整理歷史數據并確定分類方式。找出類似于本次促銷活動的歷史促銷活動消費數據和對應的客戶詳細資料,并按照是否購買車輛將結果標記分為正反兩類,正類為客戶參與相關促銷活動后購買了的車輛,反類是沒有購買。
  • 第二步,確定訓練樣本數據的特征。從客戶的詳細資料中,分析對購車行為可能有影響的客戶屬性,將這些屬性確定為訓練樣本的特征,本例中的特征有:年齡、性別、有無車、年收入等屬性字段。
  • 第三步,確定選用的分類算法。這里可以選擇邏輯回歸算法、決策樹算法或是支持向量機等具體的算法。
  • 第四步,完成模型訓練工作。訓練完成的模型是一個二分類分類器,分類器輸出的結果可以表示成概率形式,即有可能為正類的概率值。如輸入某一客戶數據,得到0.68的輸出結果時,可以認為這個客戶購買車輛的可能性有68%的概率。
  • 第五步,找出最有可能轉化的1000名潛在客戶。此時,可以將所有潛在客戶信息輸入分類器,將得到每一名潛在客戶購買車輛的概率值。然后將概率值從大到小排列,選擇前1000名潛在客戶,就完成了本次任務的目標。

(2)回歸算法

回歸算法是一種有監督學習,學習目標與分類算法相同,也將學習到訓練樣本數據中多個特征值與標記值的對應規律。使用訓練好的回歸模型可以對已知數據的未知參數進行估算,在業務上可用于對特定參數進行預測,例如:預測電影票房、預測車流量、預測天氣污染指數、預測產品銷量等。

回歸算法與分類算法有一定區別。分類算法可以對數據的某個屬性類別進行預判,這個類別是由有限個類型組成。而回歸可以對數據的某個參數值進行預測,這個參數值是連續型的數值,因此有無限可能性。例如:分類算法可以確定如[甜、不甜]這樣的有限分類,而回歸算法可以推算出如天氣溫度25.325°C等這種連續型數值。

下面講解一個應用回歸算法預測電影票房的示例。

案例:

一家媒體機構希望對一部即將上映的電影進行票房預測。該媒體已經收集過眾多電影詳細資料與歷史的票房數據,數據字段包括:電影名稱、題材、內容、導演、演員、編輯、發行方、票房金額等等。

任務目標:收集相關信息并預測即將上映的電影票房數值。

應用回歸算法:

  • 第一步,整理歷史數據并確定訓練樣本特征。除了上文內容,還可以使用影評數據、輿情數據等當做特征,但這些特征值需要進行處理后才能投入使用。例如影評數據可以通過自然語言處理技術,將影評內容區分出不同類型,再去應用。
  • 第二步,收集預測影片的相關信息。根據確定的特征項,收集目標影片當前的信息。
  • 第三步,確定選用的回歸算法。這里可以選擇線性回歸、支持向量機回歸、相關向量機等具體的算法。
  • 第四步,完成訓練工作。訓練完成后,便可以使用模型計算出指定影片的票房預測數值。在本例中輸出值可以是2830000,代表預測票房為283萬元。

(3)聚類算法

聚類算法是一種無監督學習,可以挖掘到樣本數據的特征值的潛在相關性,將具有類似特征值的數據進行分組。因此,聚類算法可以被用作知識發現使用,也被稱為探索性數據分析方法。該算法常被用于市場研究、用戶分組、用戶畫像等分析過程。

聚類算法與前兩類算法不相同,訓練模型時的樣本數據中并不包含標記,所以就不能具備對特定屬性進行預測的能力。

使用聚類算法時,可以劃分為指定的分組數目,也可以不確定具體分組數目。如果不確定分組數量時,算法會根據自身特性計算出最合適的分組數目。劃分好分組后,使用者可以分析分組中的數據,研究算法劃分的具體原因。

下面講解一個應用聚類算法進行市場研究的示例。

案例:

一家筆記本電腦制造公司,準備研發一款新型筆記本電腦?,F在進行初期的市場研究工作,希望能夠根據市場中筆記本產品的配置、價格及銷售情況,指導新款筆記本的研發與市場定價。

任務目標:挖掘出市場中銷售量較高的筆記本產品具有配置特點,并找出不同配置類型的定價情況。

應用聚類算法:

第一步,收集相關數據。從各個電商平臺收集相關筆記本電腦的配置信息,如:電腦型號、品牌、CPU性能、顯卡性能、內存大小、硬盤大小、屏幕大小、重量、電池容量、定價等。并且篩選出銷售量較高的產品。

第二步,確定聚類分析的特征項。在聚類分析中,特征項的數目不是越多越好,對于沒有明顯差異的變量對聚類分析并沒有實質的意義,并且可能會對結果造成干擾。因此,可以選擇CPU性能、顯卡性能、內存大小、硬盤大小等作為聚類分析的特征項。

第三步,確定選用的聚類算法。這里可以選擇K-means、層次聚類算法、SOM聚類算法等具體的算法。

第四步,完成訓練工作。當指定聚類算法分為N個分組時,會輸出N個分組的情況。當不指定分組數據時,會輸出算法認為合適的分組數量與分組情況。

第五步,分析各組數據的相似性特點,并為每類分組命名。這一步需要使用者對每一個分組內的數據進行詳細分析,找出其中分組內哪些特征值相類似,最終還要為每一個分組進行命名。本例中,需要分析每組筆記本相似的配置項,然后為每組數據分類命名,最終的命名結果可能為:配置高顯卡高的分組命名為游戲本、配置一般顯卡低的命名為商務本、配置高顯卡一般的命名為家用本等等。

第五步,按照每種分組統計平均價格。到此為止,就完成了對市場中銷量較好的筆記本產品的研究,研究結果可以了解市場中暢銷的筆記本產品的不同配置分組與平均價格。

3、小結

本篇為讀者首先介紹了機器學習技術,從大量的數據中自行尋找潛在規律,并應用此規律來識別或預測新數據的技術。第二,介紹了機器學習模型的訓練過程:確定算法、準備數據、訓練模型。第三,介紹了機器學習面向業務使用中最重要的三個算法:分類算法、回歸算法與聚類算法。

本文通過示例的方法幫助讀者入門機器學習算法。但真實案例中肯定不會這么簡單,通常情況下特征項都會超過10萬個,還需要考慮樣本數據對最終模型可能產生的影響等。因此,讀者首先要從示例中理解不同的算法能夠解決什么樣的問題,然后在深入學習機器學習相關的數據預處理、特征工程、算法調參、性能評估等知識。

產品經理需要深入學習相關技術知識么?筆者認為還是需要根據實際應用程度進行一定程度的深入學習,原因有以下三點:

  • 第一,不同類型的機器學習算法有不同應用場景與價值,如果不能對算法類型所解決的問題有所認知,那么在解決具體業務問題時的思路將受到限制;
  • 第二,同一算法類型下的不同算法,在面向不同數據時會有不同的性能效果,這里所說的性能效果可以簡單理解為精確度,如果對算法沒有了解,那么在實際項目中可能會影響研發周期;
  • 第三,不同機器學習算法對硬件計算能力、數據存儲空間有不同要求,并且具體業務也會對算法的計算時間與精度有限制,如果沒有相關了解,那么可能會影響研發成本。

目前機器學習技術應用范圍非常廣泛,最為典型的應用領域有數據分析、商品推薦、文章推薦等。雖然機器學習也可以應用在圖像識別與語音識別等領域,但是一直以來并沒有得到很好的識別準確率。

這其中主要的原因就是,機器學習算法的性能依賴于所提取的特征的準確度。而深度學習嘗試從數據中自行挖掘出有效的特征屬性,并且已經在圖像識別與語音識別領域取得了非常優異的成績。后續,我們將繼續講解深度學習。

 

本文由 @howie楊 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 作者轉行成功了嗎

    來自中國 回復
  2. 對技術的邊界也要需要好好了解

    回復
  3. 對于目前可落地化的項目(應用層)很多公司沒有機器學習和算法的工程師,如何來做了?

    回復
  4. 作者厲害~我也是一枚學習機器學習的產品,希望作者不吝賜教~

    來自上海 回復
    1. 一起學習

      來自北京 回復