什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

本文作者是一名數據科學家,現在離開了Pivotal公司加入了idealo公司,正在幫助其搭建數據科學團隊以及把機器學習整合到公司的產品中。

在執行計劃的過程中,他發現,作為一名優秀的數據科學團隊的領導人,必須定義機器學習產品路線圖。

結合自身經歷,本文作者帶大家探究一個好的最小可行性產品(MVP)究竟是什麼,以及機器學習產品一個好的MVP的不同維度究竟有哪些。

什麼是MVP?

在Pivotal Labs工作期間,我接觸到了Eric Ries推廣的精益創業思想。精益創業其實是當今最一流的產品開發方法論。其核心思想是,通過不斷的收集客戶的反饋來開發產品或服務,從而可以降低產品/服務失敗的風險(開發-衡量-學習)。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

開發-衡量-學習概念中的一個不可分割的部分就是MVP,它本質上就是“在一個新產品的版本開發中,它讓團隊以最小的代價收集客戶儘可能多的使用後的認知”。一個眾所周知的例子就是,驗證交通工具是否會成功(如下圖所示)。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

我們從最小的代價開始測試這個想法。在這個案例中,我們只需要兩個車輪和一塊板子。然後我們將這個產品推向市場,並獲取反饋,增加產品的複雜性來不斷改進我們的產品。

在這個案例中,我們以一輛集成了用戶的反饋的汽車告終。一個大眾熟悉的例子是Airbnb(愛彼迎,旅行房屋租賃社區)。2007年Brian Chesky 和Joe Gebbia想創業,但是無力承擔舊金山的房租。

與此同時,有一個設計展會正要在這個城市舉辦,他們決定將他們的公寓出租給那些沒有在附近找到酒店的展會與會者。他們為公寓拍照,並將照片上傳到一個簡單的網站上(見下圖),很快在展會期間就有三個付費客人。這個小測試帶給他們寶貴的領悟:人們願意付錢留在別人的家中而不是去酒店,並且不只是附近的大學畢業生才會註冊這個網站。之後他們便創建了Airbnb,接下來的事大家都知道了。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

與這種方法相反的另一種做法是,將一輛車從車輪逐一構建直到底盤,並且在此期間從未推向市場。但是,這種做法代價很高。在結束一天工作後,我們可能會推出一個客戶並不需要的產品。

讓我們以Juicero(智能榨汁機初創公司)為例。他們從投資者手中募集了1.2億美元,用於創造一款精心設計的榨汁機,經過一段時間的開發後以非常高的價格進行發售(最初的原價為699美元,隨後降至399美元)。

除了榨汁機,你還可以購買裝滿原生水果和蔬菜的果蔬包,每包售價為5-7美元。可能有些人已經聽說過這個公司,但這家公司目前已經倒閉了,因為它並沒有意識到其實客戶並不真正需要一款價格高昂的榨汁機來將果蔬包榨汁。

他們並不真正瞭解他們的客戶。一個簡單的用戶研究就能讓他們意識到,客戶並不需要昂貴的機器來擠榨果蔬包,只需要兩手擠壓就足夠了。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

MVP的概念如何與機器學習產品進行關聯?

MVP概念也可以被應用於機器學習,因為最終,機器學習也是整個產品的一部分或者就是最終產品本身。考慮到這一點,我認為有三個重要的維度。

1.最小可行模型

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

機器學習產品的一個重要方面就是建模訓練過程本身。假設我們有一個分類問題,我們希望將一些數據分類到預定義的類別中,例如熱狗vs.非熱狗分類。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

解決這個分類問題的一種可能的方法是採用一個包含一個隱藏層的神經網絡。接下來我們將訓練和評估此模型。然後根據結果,我們可能希望持續改進我們的模型。我們接下來將增加另一個隱藏層,然後再進行相同的模型訓練過程。

然後再根據結果,可能會增加越來越多的隱藏層。這種方法非常直接,實際上是解決熱狗與非熱狗分類問題的最佳解決方案,因為不需要特徵工程(我們基本上可以將原始圖片作為輸入數據)。但是對於大多數的分類問題,除非它們不是那些像在計算機視覺或自然語言處理中遇到的專業問題,否則這不是解決這類問題的最佳方法。

深度學習的最主要缺點在於其缺乏可解釋性。通過採用的網絡種類來解釋此神經網絡的結果通常很難。並且你會花費大量的時間用在神經網絡的調參上,但對模型性能的提升卻影響甚微。

從簡單開始,建立基線。對於大多數分類問題,從邏輯迴歸這類線性模型入手會比較可行。儘管在許多實際應用中,線性假設是不切實際的,但是,邏輯迴歸做得相對好並可以提供基準,亦稱為基準模型。它的主要優點也是可解釋性,並且可以直接得到條件概率,這在很多情況下十分方便。

為了改進模型並放寬線性假設的條件,可以使用基於樹的模型。主要有兩大類這樣的模型,Bagging和Boosting模型。實際上,它們都使用的是決策樹,只是採用不同的方式訓練模型。最後,如果所有的方法都已用,你還想不斷改進你的模型,那麼我們就可以利用深度學習技術。

2.最小可行性平臺

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

我在Pivotal Labs工作期間,參與了許多項目來幫助財富500強企業開始他們的數據旅程。很多項目的共同點是開始對基礎架構進行鉅額投資。他們花費大量資金採購大數據平臺,即所謂的“數據湖”。

但在購買之後,他們甚至都不考慮潛在的用例,便將數據加載到他們的數據湖中。然後,他們聽說了一個名為Apache Spark的東西,並將其添加到基礎設施層。

現在,由於人工智能已經成為流行的風潮,他們也開始購買GPU,並在其上添加如TensorFlow那樣的深度學習框架。在一個地方擁有所有(酷)工具聽起來很棒吧?然而,最大的問題是,將所有數據放入數據湖之後,發現數據與用例並不匹配。要麼他們沒有收集到正確的數據,要麼不存在支持潛在用例的數據。

更可行的方法不是考慮硬件或者軟件,而更多的是解決問題。通過這種方法,可以儘早瞭解需要哪些數據來解決問題,並且還能避免各種數據錯誤。除此之外,迄今為止我所看到過的很多機器學習問題,實際上都可以在本地機器上解決。他們並不需要對基礎設施進行鉅額投資。

而且,如果數據量真的很大,他們可以使用AWS或Google Cloud等雲服務提供商的服務,便可以非常輕鬆地啟動一個Spark群集。如果他們有一個深度學習問題,也會有很多的選擇。不但可以選擇已經提到的雲服務提供商,也可以選擇如FloydHub那樣提供的平臺級服務(PaaS),在雲上訓練和部署深度學習模型。

3.最小可行(數據)產品

最後,我想談論的一點是數據產品本身。本質上,數據產品有很多例子,比如聊天機器人、垃圾郵件檢測器等等——這個清單很長(更多的機器學習產品,請查看Neal Lathia的精彩文章)。但是在這裡,鑑於當前我在電子商務領域工作,我將專注於推薦服務。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

採用簡單的相似性算法以及使用矩陣分解技術是一種建立推薦服務的方法。 最後,我們還可以嘗試使用深度學習方法等更加複雜的模型(例如,深層次的語義模型)。但是,我不建議採用這種方式。推薦是多種形式的。例如,你的朋友給出的建議是推薦,或者前100名最喜歡的產品也是推薦。並非我們所使用的每個複雜算法都會成功,但它必須經過測試。事實上,不要害怕在沒有機器學習的情況下建立推薦服務。

什麼是最小可行性數據產品(MVP)?如何用它做機器學習?

因此,正確的方法是像熱門產品那樣首先建立A/B測試框架和評估指標(例如,跳出率或點擊率),再採用簡單的方法開始。在測試之後,確定用戶傾向於點擊這些推薦的項目(有時他們必須先養成習慣,特別是如果它是新產品功能的話),最終用戶也可能會購買那些推薦的項目,我們可以嘗試使用諸如協作過濾技術更為複雜的方法。舉個例子,我們可以基於購買過此商品的用戶會對這類商品感興趣,或者查看此商品的用戶也對這類商品感興趣來創建一個推薦。“用戶對這個項目……也對這些項目感興趣”這類選項可以是無窮盡的。

總結

在這篇文章中,我講述了關於MVP對機器學習產品的意義的理解。實質上,就是從小處開始不斷迭代。此外,為了更清楚地解釋我對機器學習產品的MVP代表的意思,我討論了三個主要維度,我認為這對於優秀的MVP數據產品至關重要:

最小可行性模型,

最小可行性平臺,

最小可行(數據)產品。


分享到:


相關文章: