大數據文摘出品
編譯:胡笳、睡不着的iris、halcyon
本文作者是一名數據科學家,現在離開了Pivotal公司加入了idealo公司,正在幫助其搭建數據科學團隊以及把機器學習整合到公司的産品中。
在執行計劃的過程中,他發現,作為一名優秀的數據科學團隊的領導人,必須定義機器學習産品路線圖。
結合自身經曆,本文作者帶大家探究一個好的最小可行性産品(MVP)究竟是什麼,以及機器學習産品一個好的MVP的不同維度究竟有哪些。
什麼是MVP?
在Pivotal Labs工作期間,我接觸到了Eric Ries推廣的精益創業思想。精益創業其實是當今最一流的産品開發方法論。其核心思想是,通過不斷的收集客戶的反饋來開發産品或服務,從而可以降低産品/服務失敗的風險(開發-衡量-學習)。
開發-衡量-學習概念中的一個不可分割的部分就是MVP,它本質上就是“在一個新産品的版本開發中,它讓團隊以最小的代價收集客戶盡可能多的使用後的認知”。一個衆所周知的例子就是,驗證交通工具是否會成功(如下圖所示)。
我們從最小的代價開始測試這個想法。在這個案例中,我們隻需要兩個車輪和一塊闆子。然後我們将這個産品推向市場,并獲取反饋,增加産品的複雜性來不斷改進我們的産品。
在這個案例中,我們以一輛集成了用戶的反饋的汽車告終。一個大衆熟悉的例子是Airbnb(愛彼迎,旅行房屋租賃社區)。2007年Brian Chesky 和Joe Gebbia想創業,但是無力承擔舊金山的房租。
與此同時,有一個設計展會正要在這個城市舉辦,他們決定将他們的公寓出租給那些沒有在附近找到酒店的展會與會者。他們為公寓拍照,并将照片上傳到一個簡單的網站上(見下圖),很快在展會期間就有三個付費客人。這個小測試帶給他們寶貴的領悟:人們願意付錢留在别人的家中而不是去酒店,并且不隻是附近的大學畢業生才會注冊這個網站。之後他們便創建了Airbnb,接下來的事大家都知道了。
與這種方法相反的另一種做法是,将一輛車從車輪逐一構建直到底盤,并且在此期間從未推向市場。但是,這種做法代價很高。在結束一天工作後,我們可能會推出一個客戶并不需要的産品。
讓我們以Juicero(智能榨汁機初創公司)為例。他們從投資者手中募集了1.2億美元,用于創造一款精心設計的榨汁機,經過一段時間的開發後以非常高的價格進行發售(最初的原價為699美元,随後降至399美元)。
除了榨汁機,你還可以購買裝滿原生水果和蔬菜的果蔬包,每包售價為5-7美元。可能有些人已經聽說過這個公司,但這家公司目前已經倒閉了,因為它并沒有意識到其實客戶并不真正需要一款價格高昂的榨汁機來将果蔬包榨汁。
他們并不真正了解他們的客戶。一個簡單的用戶研究就能讓他們意識到,客戶并不需要昂貴的機器來擠榨果蔬包,隻需要兩手擠壓就足夠了。
MVP的概念如何與機器學習産品進行關聯?
MVP概念也可以被應用于機器學習,因為最終,機器學習也是整個産品的一部分或者就是最終産品本身。考慮到這一點,我認為有三個重要的維度。
1.最小可行模型
機器學習産品的一個重要方面就是建模訓練過程本身。假設我們有一個分類問題,我們希望将一些數據分類到預定義的類别中,例如熱狗vs.非熱狗分類。
解決這個分類問題的一種可能的方法是采用一個包含一個隐藏層的神經網絡。接下來我們将訓練和評估此模型。然後根據結果,我們可能希望持續改進我們的模型。我們接下來将增加另一個隐藏層,然後再進行相同的模型訓練過程。
然後再根據結果,可能會增加越來越多的隐藏層。這種方法非常直接,實際上是解決熱狗與非熱狗分類問題的最佳解決方案,因為不需要特征工程(我們基本上可以将原始圖片作為輸入數據)。但是對于大多數的分類問題,除非它們不是那些像在計算機視覺或自然語言處理中遇到的專業問題,否則這不是解決這類問題的最佳方法。
深度學習的最主要缺點在于其缺乏可解釋性。通過采用的網絡種類來解釋此神經網絡的結果通常很難。并且你會花費大量的時間用在神經網絡的調參上,但對模型性能的提升卻影響甚微。
從簡單開始,建立基線。對于大多數分類問題,從邏輯回歸這類線性模型入手會比較可行。盡管在許多實際應用中,線性假設是不切實際的,但是,邏輯回歸做得相對好并可以提供基準,亦稱為基準模型。它的主要優點也是可解釋性,并且可以直接得到條件概率,這在很多情況下十分方便。
為了改進模型并放寬線性假設的條件,可以使用基于樹的模型。主要有兩大類這樣的模型,Bagging和Boosting模型。實際上,它們都使用的是決策樹,隻是采用不同的方式訓練模型。最後,如果所有的方法都已用,你還想不斷改進你的模型,那麼我們就可以利用深度學習技術。
2.最小可行性平台
我在Pivotal Labs工作期間,參與了許多項目來幫助财富500強企業開始他們的數據旅程。很多項目的共同點是開始對基礎架構進行巨額投資。他們花費大量資金采購大數據平台,即所謂的“數據湖”。
但在購買之後,他們甚至都不考慮潛在的用例,便将數據加載到他們的數據湖中。然後,他們聽說了一個名為Apache Spark的東西,并将其添加到基礎設施層。
現在,由于人工智能已經成為流行的風潮,他們也開始購買GPU,并在其上添加如TensorFlow那樣的深度學習框架。在一個地方擁有所有(酷)工具聽起來很棒吧?然而,最大的問題是,将所有數據放入數據湖之後,發現數據與用例并不匹配。要麼他們沒有收集到正确的數據,要麼不存在支持潛在用例的數據。
更可行的方法不是考慮硬件或者軟件,而更多的是解決問題。通過這種方法,可以盡早了解需要哪些數據來解決問題,并且還能避免各種數據錯誤。除此之外,迄今為止我所看到過的很多機器學習問題,實際上都可以在本地機器上解決。他們并不需要對基礎設施進行巨額投資。
而且,如果數據量真的很大,他們可以使用AWS或Google Cloud等雲服務提供商的服務,便可以非常輕松地啟動一個Spark群集。如果他們有一個深度學習問題,也會有很多的選擇。不但可以選擇已經提到的雲服務提供商,也可以選擇如FloydHub那樣提供的平台級服務(PaaS),在雲上訓練和部署深度學習模型。
3.最小可行(數據)産品
最後,我想談論的一點是數據産品本身。本質上,數據産品有很多例子,比如聊天機器人、垃圾郵件檢測器等等——這個清單很長(更多的機器學習産品,請查看Neal Lathia的精彩文章)。但是在這裡,鑒于當前我在電子商務領域工作,我将專注于推薦服務。
采用簡單的相似性算法以及使用矩陣分解技術是一種建立推薦服務的方法。 最後,我們還可以嘗試使用深度學習方法等更加複雜的模型(例如,深層次的語義模型)。但是,我不建議采用這種方式。推薦是多種形式的。例如,你的朋友給出的建議是推薦,或者前100名最喜歡的産品也是推薦。并非我們所使用的每個複雜算法都會成功,但它必須經過測試。事實上,不要害怕在沒有機器學習的情況下建立推薦服務。
因此,正确的方法是像熱門産品那樣首先建立A/B測試框架和評估指标(例如,跳出率或點擊率),再采用簡單的方法開始。在測試之後,确定用戶傾向于點擊這些推薦的項目(有時他們必須先養成習慣,特别是如果它是新産品功能的話),最終用戶也可能會購買那些推薦的項目,我們可以嘗試使用諸如協作過濾技術更為複雜的方法。舉個例子,我們可以基于購買過此商品的用戶會對這類商品感興趣,或者查看此商品的用戶也對這類商品感興趣來創建一個推薦。“用戶對這個項目……也對這些項目感興趣”這類選項可以是無窮盡的。
總結
在這篇文章中,我講述了關于MVP對機器學習産品的意義的理解。實質上,就是從小處開始不斷叠代。此外,為了更清楚地解釋我對機器學習産品的MVP代表的意思,我讨論了三個主要維度,我認為這對于優秀的MVP數據産品至關重要:
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!