如何用機器學(xué)習(xí)滿足產(chǎn)品需求
關(guān)于機器學(xué)習(xí)有太多的文章介紹了,如果還對機器學(xué)習(xí)一知半解的可以參考一下其他文章,我的其他文章中也有簡單介紹了機器學(xué)習(xí)。本文主要介紹機器學(xué)習(xí)的應(yīng)用以及我們?nèi)绾问褂脵C器學(xué)習(xí)滿足產(chǎn)品需求,盡量不說廢話。
作為AI產(chǎn)品經(jīng)理,不僅需要知道技術(shù)的邊界,還要對應(yīng)用場景的有足夠的理解。
談到談到機器學(xué)習(xí),有些人還不清楚機器學(xué)習(xí)和深度學(xué)習(xí)、人工智能之間的關(guān)系,甚至以為是一回事——其實不是這樣的。
下面這個圖可以幫助大家梳理這三者之間的關(guān)系:
人工智能是個很泛的概念,有很多不同的方向:
50年代-70年代,人們認為賦予機器推理能力就能夠使得機器具有智能,具有代表性的工作是圖靈獎得主A.Newell和H.SImon的“邏輯理論家”程序。隨著研究的逐漸深入,人們意識到僅有邏輯推理還是遠遠達不到智能的,必須要有先驗知識。
這階段人們試圖將人類的知識抽象成規(guī)則輸出到機器,也就是所謂的專家系統(tǒng)。
顯然,知識是浩瀚的海洋,很快人們就遇到了瓶頸,幾乎不可能準(zhǔn)確的去概括所有知識。
例如語音識別,一開始人們把字詞的發(fā)音做成模板,通過模板匹配的方式做識別,可想而知由于不同的人的發(fā)音習(xí)慣,加上不同的口音,語速等等,使得識別率一直都很差。
關(guān)于語音的特征,是很難人工去刻畫的;于是就有學(xué)者提出了讓機器自己學(xué)習(xí)的思路,并進行了相關(guān)的研究——這就是機器學(xué)習(xí)。
而深度學(xué)習(xí)是機器學(xué)習(xí)的一個方向:得益于計算能力的提升和互聯(lián)網(wǎng)發(fā)展帶來的大量數(shù)據(jù)累積,往往只要調(diào)節(jié)好參數(shù),就能得到不錯的性能。
深度學(xué)習(xí)并沒有嚴格的理論基礎(chǔ),可以說是“大力出奇跡”的一種方法,降低了了機器學(xué)習(xí)應(yīng)用的門檻。
一、什么時候可以使用機器學(xué)習(xí)?
首先我們要明白:什么是智能?
廣義上來說,只要是能夠根據(jù)先驗知識,通過決策對外部刺激做出合理反饋的行為都可以稱為智能。
互聯(lián)網(wǎng)產(chǎn)品在這幾年的發(fā)展大多數(shù)是基于流程化,是一種對于信息的重新組織和優(yōu)化。一般來說只要有一個輸入,我們就能夠得到一個預(yù)期的輸出——直觀上就是“不智能”。
仔細想一下:是不是和人工智能最開始的“邏輯推理”階段有點像?
互聯(lián)網(wǎng)剛開始興起的時候,流程優(yōu)化、打破信息不對稱,提升了社會效率,積累了大量的數(shù)據(jù);同樣的,現(xiàn)在信息的高度流通,也達到了一個“瓶頸”。
那么,如何進一步提升效率呢?機器學(xué)習(xí)給出了一個答案:現(xiàn)在的大數(shù)據(jù)就相當(dāng)于“先驗經(jīng)驗”,通過機器學(xué)習(xí),讓信息觸達能夠做到“千人千面”,降低了無效信息的損耗,讓資源得到更加合理的配置。
所以使用機器學(xué)習(xí)的第一個目標(biāo),就是要幫助產(chǎn)品突破“瓶頸”,提高效率。
現(xiàn)在回答什么時候使用機器學(xué)習(xí)?或者說是具備了什么樣的條件的業(yè)務(wù)適合使用機器學(xué)習(xí)?
1.業(yè)務(wù)目標(biāo)清晰(抽象為分類/回歸問題)
在使用機器學(xué)習(xí)之前,要明確業(yè)務(wù)目標(biāo)。
單獨的機器學(xué)習(xí)在目前是很難直接支撐其一個場景產(chǎn)品的(區(qū)別于工具產(chǎn)品),所以機器學(xué)習(xí)的業(yè)務(wù)目標(biāo)一般散落在產(chǎn)品業(yè)務(wù)的各個角落。例如向用戶推送營銷信息,如果全量推送,既無法保證轉(zhuǎn)化率,又會騷擾用戶,這是一種“低效率”的方式,可以使用機器學(xué)習(xí)找出可能會對營銷信息感興趣的用戶推送。
其實大多數(shù)適用機器學(xué)習(xí)的業(yè)務(wù)場景都能夠過抽象為分類(離散化)/回歸(連續(xù)化)的問題。
- 常見的分類問題:識別問題(人臉識別、指紋識別、花草識別)
- 常見的回歸問題:預(yù)測問題(點擊率預(yù)測、轉(zhuǎn)化率預(yù)測)
2.機器學(xué)習(xí)的成果能夠作用于業(yè)務(wù)
在某項業(yè)務(wù)中使用機器學(xué)習(xí),機器學(xué)習(xí)的成果要能夠反過來作用于業(yè)務(wù)(提升轉(zhuǎn)化率、提高用戶體驗等等)。
舉個例子,假設(shè)你拿到大量的個人數(shù)據(jù),可以準(zhǔn)確預(yù)測出某個人的購物喜好,但是這份數(shù)據(jù)并沒有這些人的聯(lián)系方式,則預(yù)測的結(jié)果實際上是沒辦法作用到業(yè)務(wù)的。
再舉個例子,如自動摘要,如果自動摘要出來的結(jié)果準(zhǔn)確率不高,則這些結(jié)果是沒有什么價值的,同樣不能滿足“能夠作用于業(yè)務(wù)”。
3.具備“特征”
具備特征是很重要的一點。
如垃圾郵件識別,可能具備的特征有:無規(guī)則的郵箱地址、含有生僻字、發(fā)信時間等等——那么很顯然可以使用機器學(xué)習(xí)解決。
反例,通過長相預(yù)測年收入。
仔細想想:年收入高的人在長相上具備什么“特征”嗎?這個是個謎;或許還真有,但是不好說。但是如果使用機器學(xué)習(xí)去做這樣的預(yù)測,除非是做學(xué)術(shù)研究,否則在生產(chǎn)環(huán)境中是不太適合的。
4.具備“樣本”
無論是統(tǒng)計機器學(xué)習(xí)還是深度學(xué)習(xí),都是需要樣本的。
而樣本獲取可以是基于業(yè)務(wù)經(jīng)驗收集,如第3點的垃圾郵件識別,根據(jù)經(jīng)驗我們就可以收集郵箱地址、發(fā)信時間等等維度的特征。
如果沒有業(yè)務(wù)經(jīng)驗,也可以進行全量的收集,特征不是越多越好,特征太多就會造成過擬合。
如果新加入的特征讓準(zhǔn)確率提升不大但是讓模型的復(fù)雜度提升很大,我們就認為這個特征是不必要的。
二、如何提機器學(xué)習(xí)產(chǎn)品需求?
除了常規(guī)的界面需求、流程需求之外,涉及到機器學(xué)習(xí)的產(chǎn)品需求還應(yīng)包括:
1.業(yè)務(wù)場景描述
作用是讓算法人員理解業(yè)務(wù)場景,更好的理解輸入與輸出的需求,可以包含對業(yè)務(wù)經(jīng)驗的描述。
以垃圾郵件識別為例:在用戶接收的郵件后,推送提醒之前,對郵件進行判定,如果為垃圾郵件,則不推送提醒,將郵件轉(zhuǎn)移到放入”垃圾郵件“文件夾。
2.目標(biāo)(輸出)定義
什么樣的郵件才是垃圾郵件?含有廣告信息?含有欺詐信息?不同的人都有不同的定義。但是總是能夠找得到一個共識。定義和特征類似,不是越完整越好,越完整的定義,泛化能力就越差。
例如你把廣告信息定義為垃圾郵件,但是有用戶愛好奇特,喜歡看廣告,對于他們來說就不是垃圾郵件。
明確的定義主要是用來指導(dǎo)標(biāo)注,關(guān)于標(biāo)注那些事兒在我的上篇文章已經(jīng)詳細介紹,有興趣可以翻閱。
關(guān)于垃圾郵件,可以列出幾條定義如:無內(nèi)容、內(nèi)容雜亂、明顯的黃暴信息等等。
如果是回歸問題,如預(yù)測銷售量,定義銷售量=受眾群體數(shù)×轉(zhuǎn)化率。受眾群體數(shù)一般可知,則預(yù)測轉(zhuǎn)化率即算出銷售量。
3.指標(biāo)要求
關(guān)于機器學(xué)習(xí)的四個指標(biāo),簡單提一下,許多文章都有介紹了。查準(zhǔn)率(Precision)、查全率(Recall)、精確度(Accuracy)、F值。這是封閉測試集中的指標(biāo),如果是生物識別問題,還涉及錯誤接受率、錯誤拒絕率、等錯率等指標(biāo)。產(chǎn)品需要根據(jù)業(yè)務(wù)需要,或者是充分的數(shù)據(jù)分析來確定指標(biāo)要求。
4.樣本提供
樣本越全,對于機器學(xué)習(xí)的性能的提升的幫助越大。樣本需要客觀、準(zhǔn)確。有全量樣本是最好的,如果沒有,要使用抽樣樣本,要保證抽樣樣本的分布構(gòu)成和實際保持一致。
本文由 @躚塵 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash ,基于 CC0 協(xié)議
看后發(fā)出嘖嘖稱贊之余,更加快了我想進入AI行業(yè)的腳步~