一、什么是機器學習
1. 機器學習概念
機器學習就是對計算機一部分數據進行學習,然后對另外一些數據進行預測與判斷。
機器學習的核心是“使用算法解析數據,從中學習,然后對新數據做出決定或預測”。也就是說計算機利用以獲取的數據得出某一模型,然后利用此模型進行預測的一種方法,這個過程跟人的學習過程有些類似,比如人獲取一定的經驗,可以對新問題進行預測。
我們舉個例子,我們都知道支付寶春節的“集五福”活動,我們用手機掃“福”字照片識別福字,這個就是用了機器學習的方法。我們可以為計算機提供“福”字的照片數據,通過算法模型機型訓練,系統不斷更新學習,然后輸入一張新的福字照片,機器自動識別這張照片上是否有福字。
機器學習是一門多領域交叉學科,涉及概率論、統計學、計算機科學等多門學科。機器學習的概念就是通過輸入海量訓練數據對模型進行訓練,使模型掌握數據所蘊含的潛在規律,進而對新輸入的數據進行準確的分類或預測。如下圖所示:
2. 機器學習分類
我們了解了機器學習的概念,通過建立模型進行自我學習,那么學習方法有哪些呢?
(1)監督學習
監督學習就是訓練機器學習的模型的訓練樣本數據有對應的目標值,監督學習就是通過對數據樣本因子和已知的結果建立聯系,提取特征值和映射關系,通過已知的結果,已知數據樣本不斷的學習和訓練,對新的數據進行結果的預測。
監督學習通常用在分類和回歸。比如手機識別垃圾短信,電子郵箱識別垃圾郵件,都是通過對一些歷史短信、歷史郵件做垃圾分類的標記,對這些帶有標記的數據進行模型訓練,然后獲取到新的短信或是新的郵件時,進行模型匹配,來識別此郵件是或是不是,這就是監督學習下分類的預測。
再舉一個回歸的例子,比如我們要預測公司凈利潤的數據,我們可以通過歷史上公司利潤(目標值),以及跟利潤相關的指標,比如營業收入、資產負債情況、管理費用等數據,通過回歸的方式我們回到的一個回歸方程,建立公司利潤與相關因此的方程式,通過輸入因子數據,來預測公司利潤。
監督學習難點是獲取具有目標值的樣本數據成本較高,成本高的原因在于這些訓練集的要依賴人工標注工作。
(2)無監督學習
無監督學習跟監督學習的區別就是選取的樣本數據無需有目標值,我們無需分析這些數據對某些結果的影響,只是分析這些數據內在的規律。
無監督學習常用在聚類分析上面。比如客戶分群、因子降維等。比如RFM模型的使用,通過客戶的銷售行為(消費次數、最近消費時間、消費金額)指標,來對客戶數據進行聚類:
重要價值客戶:最近消費時間近、消費頻次和消費金額都很高;
重要保持客戶:最近消費時間較遠,但消費頻次和金額都很高,說明這是個一段時間沒來的忠誠客戶,我們需要主動和他保持聯系;
重要發展客戶:最近消費時間較近、消費金額高,但頻次不高,忠誠度不高,很有潛力的用戶,必須重點發展;
重要挽留客戶:最近消費時間較遠、消費頻次不高,但消費金額高的用戶,可能是將要流失或者已經要流失的用戶,應當基于挽留措施。
除此之外,無監督學習也適用于降維,無監督學習比監督學習好處是數據不需要人工打標記,數據獲取成本低。
(3)半監督學習
半監督學習是監督學習和無監督學習相互結合的一種學習方法,通過半監督學習的方法可以實現分類、回歸、聚類的結合使用。
半監督分類:是在無類標簽的樣例的幫助下訓練有類標簽的樣本,獲得比只用有類標簽的樣本訓練得到更優的分類;
半監督回歸:在無輸出的輸入的幫助下訓練有輸出的輸入,獲得比只用有輸出的輸入訓練得到的回歸器性能更好的回歸;
半監督聚類:在有類標簽的樣本的信息幫助下獲得比只用無類標簽的樣例得到的結果更好的簇,提高聚類方法的精度;
半監督降維:在有類標簽的樣本的信息幫助下找到高維輸入數據的低維結構,同時保持原始高維數據和成對約束的結構不變。
半監督學習是最近比較流行的方法。
(4)強化學習
強化學習是一種比較復雜的機器學習方法,強調系統與外界不斷的交互反饋,它主要是針對流程中不斷需要推理的場景,比如無人汽車駕駛,它更多關注性能。它是機器學習中的熱點學習方法。
3. 關于深度學習
深度學習是目前關注度很高的一類算法,深度學習(DeepLearning,DL)屬于機器學習的子類。它的靈感來源于人類大腦的工作方式,是利用深度神經網絡來解決特征表達的一種學習過程。
人工智能、機器學習、深度學習關系如下圖所示:
深度學習歸根結底也是機器學習,不過它不同于監督學習、半監督學習、無監督學習、強化學習的這種分類方法,它是另一種分類方法,基于算法神經網絡的深度,可以分成淺層學習算法和深度學習算法。
淺層學習算法主要是對一些結構化數據、半結構化數據一些場景的預測,深度學習主要解決復雜的場景,比如圖像、文本、語音識別與分析等。
4. 了解機器學習概念對產品經理意義
本節主要在于理清一些機器學習基本概念,簡單介紹一下應用場景,重點在于理解機器學習本質上還是對于數據的的一種處理方式,數據的使用方式,通過數據解析其中的規律,來預測未來數據結果。
二、機器學習的應用
我們在說機器學習分類的時候,簡單介紹了一下不同機器學習方法,主要是解決是什么問題,在本節中具體介紹一些常用的應用場景,主要說明這些應用到底怎么用,不對其中的算法以及原理做深入的介紹。
1. 分類和聚類
分類和聚類機器學習最常用的應用場景,分類和聚類都是對數據的分組,我們剛接觸的時候,很容易混淆這兩個應用的概念,覺得分類就是聚類,其實他們有很多的不同。
分類是我們知道有哪些組,然后對數據進行判斷,判斷這些數據到底是預先知道的那些組。舉個很簡單的例子,比如我們在軍訓排隊時要求男生一組,女生一組,這就是一種分類,我們提前知道要分那些組,然后通過一種算法對輸入的數據判定,來分類到已知的類別下,這個就是分類。
分類從數學函數角度來說:分類任務就是通過學習得到一個目標函數f,把每個屬性集x映射到一個預先定義的類標號y中。就是我們根據已知的一些樣本(包括屬性與類標號)來得到分類模型(即得到樣本屬性與類標號之間的函數),然后通過此目標函數來對只包含屬性的樣本數據進行分類。
所以分類屬于監督學習方法,比如圖像識別,比如我們從一些圖像中識別是貓還是狗的照片等,它解決的是“是或否”的問題,就是將需要被分析的數據跟已知的類別結果做判斷,看這些數據到底是那個類別數據。
在分類中,對于目標數據中存在哪些類是知道的,要做的就是將每一條記錄分別屬于哪一類標記出來。但是聚類解決的就是在不知道類的情況下,如何把數據參數做一個劃分。
聚類是實現不知道這批數據有哪些類別或標簽,然后通過算法的選擇,分析數據參數的特征值,然后進行機器的數據劃分,把相似的數據聚到一起,所以它是無監督學習;
比如RFM模型中我們通過客戶銷售數據,通過這些數據對客戶分群,然后通過聚類的方法,將相似度高的數據聚類到一起,通過分析出來的數據我們可以對數據特性在定義標簽,它解決的是相似度的問題,將相似度高的聚集到一起。
我們舉個例子來總結一下分類和聚類都是什么用途:
比如我們有1000張照片,假設我們之前已經定義好貓、狗的照片,做了訓練,如果從這1000張照片中區分出來貓、狗的照片,那么這就是分類;
假設我們沒做過貓狗的照片,我們只是對1000張照片的數據做一個歸類,看看那些照片相似度高,分類完成后,在通過相似度比較高的幾類,我們再定義這些類別的是貓、狗或是其他圖片什么的。
2. 回歸
回歸在統計學角度,指的是確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法。回歸分析按照涉及的變量的多少,分為一元回歸和多元回歸分析;按照因變量的多少,可分為簡單回歸分析和多重回歸分析;按照自變量和因變量之間的關系類型,可分為線性回歸分析和非線性回歸分析。
在大數據分析中,回歸分析是一種預測性的建模技術,它研究的是因變量(目標)和自變量(預測器)之間的關系。這種技術通常用于預測分析,時間序列模型以及發現變量之間的因果關系。
回歸從數學角度來看是一種方程式,是一種解題方法,一種通過一些函數因子的關系的一種學習方法。比如以下簡單的一個函數:
回歸從算法角度來說,它是對有監督的連續數據結果的預測,比如通過一個人過去年份工資收入相關的影響參數,建立回歸模型,然后通過相關的參數的變更來預測他未來工資收入。
當然通過建立回歸模型,再結合數學上對方程式的解析,我們也可以倒退出來為了一個預定的結果我們需要對那些參數值做優化。回歸最終要的是得到相關的參數和參數的特征值,因此我們通常在做回歸分析時通常會做目標參數相關性分析。
只要我們有足夠的數據,都可以做一些回歸分析幫助我們做預測與決策。比如我們上線了一些功能,可以通過點擊率、打開率、分享情況等等跟產生的業務結果做回歸分析,如果建立了函數關系,我們就可以預測一些結果,再比如我們通過歷史上年齡、體重、血壓指標、血脂指標、是否抽煙、是否喝酒等指標跟某種疾病做回歸分析,可以預測某一名人員是否有此疾病的風險等。
所以回歸的主要目的在于對連續數據產生的規律之后對新數據可能產生某種結果的預測。
3. 降維
降維就是去除冗余的特征,降低特征參數的維度降低,用更加少的維度來表示特征,比如圖像識別中將一幅圖像轉換成高緯度的數據集合,因為高緯度數據處理復雜度很高,我們就需要進行降維處理,降低了計算機處理高維度的圖像數據的復雜性,減少了冗余數據造成的識別誤差,提高識別經度。
我們從統計學角度在理解一下機器學習的這四大應用,如果我們有一批樣本,希望能夠預測是都屬于某相關屬性,如果樣本值是離散的,我們就可以使用分類的方法,如果是連續的我們就可以使用回歸的方法,如果我們這批樣本沒有對應的屬性,而是想挖掘其中的相關性,那么就用聚類的方式。
如果我們涉及到的參數很多,維度很多,我們就可以用降維的方法去尋找更精準的參數,不管是做分類、聚類還是回歸,都能達到更精確的判斷和預測。
除此之外,語音識別、圖像識別、文本識別、語義分析等都是通過機器學習基本方法的綜合利用。
4. 不同應用場景算法舉例
下圖中針對不同應用場景做的算法舉例,大家感興趣可自行了解各個算法的原理。
5. 理解機器學習應用對產品經理的意義
理解機器學習應用對產品經理非常有意義:
一方面產品經理需要理解機器學習到底能解決什么問題,面對我們的業務需求,是否可以通過機器學習的方式去滿足我們的需求;同時理解了機器學習的應用也就是理解AI為什么中臺作用這么明顯。
比如我們在面臨的人群劃分、或是商品標簽劃分,可以考慮一下聚類方法;在面對APP功能點擊預測、分享預測我們可以考慮一下分類方法;面對商品購買預測我們可以考慮回歸的方法等;
另一方面通過機器學習應用我們可以看到數據的重要性,要求我們產品經理能更好的利用數據,數據可以通過一些算法來解決一些預測、判斷的問題。
三、機器學習流程
人們在使用機器學習的時候,把很大的精力放在了選擇算法、優化算法上面,其實算法的選擇只是機器學習其中的一個步驟,但是機器學習其他的步驟也是很關鍵的,尤其是作為產品經理,了解這個機器學習流程也是至關重要的。
機器學習的流程本質上就是數據準備、數據分析、數據處理、結果反饋的過程,按照這個思路,我們可以把機器學習分為如下步驟:業務場景分析、數據處理、特征工程、算法模型訓練、應用服務。下面具體介紹一下這幾個步驟。
1. 業務場景分析
業務場景分析就是將我們的業務需求、使用場景轉換成機器學習的需求語言,然后分析數據,選擇算法的過程。這個是機器學習的準備階段,主要包括以下3點:業務抽象、數據準備、選擇算法。
(1)業務抽象
業務抽象說白了就是針對于業務需求,抽象成機器學習的應用場景的問題,我們上節中講了機器學習的分類、聚類、回歸、降維的應用場景,其實業務抽象就是把我們遇到的業務需求抽象成上述應用場景。
比如我們要做產品推薦的需求,我們要把指定的產品推薦給相應的用戶,也就是如何精準營銷,給用戶推薦是合適的產品。
我們抽象成機器學習的語言就是一個產品A是否要推薦給用戶a,這就是一個是或者否的問題,也就是一個分類應用場景。這就是業務抽象,就是把業務需求抽象成機器學習的應用場景。
(2)數據準備
機器學習的基礎就是數據,沒有數據是無法訓練模型,也就是機器是無法學習的,所以數據準備就是識別、收集、加工數據階段。
通過圖譜我們了解到,我們能獲取到的數據有機構化數據、半結構化數據、非結構化數據,機器學習同樣的是這些數據,這些數據類型在知識圖譜有講解,不在贅述,這里主要講一下作為產品經理進行數據準備時需要考慮的因素。
1)數據字段的考慮
關于數據字段考慮就是說我們在準備數據時,無論是結構化數據、非結構化數據、半結構話數據,我們都要抽象成一個二維表,二維表表頭就是這些數據的表示或是數據的名稱,這個就是數據字段。
對于數據字段涉及到兩方面:
一方面就是數據字段范圍,也就是我們在做業務需求的時候需要哪些字段作為機器學習參數,這跟我們做后臺產品經理類似。
做后臺涉及需要進行數據項字段的設計,這些字段有業務字段、邏輯字段、系統字段等,對于機器學習字段考慮要比后臺設計的字段考慮更深一些,他不僅僅是后臺產生的這寫數據,還包括一些過程數據、結果數據、埋點數據、轉換數據(定性轉定量)等,具體我們可以參考一些統計學的方法,去收集、制定機器學習的字段。
一方面就是字段類型的判定,比如到底是字符串型的還是數值型的。
我們做回歸分析,需要的必須是數值型的,因為回歸是連續變量的分析,假如你要分析性別這個字段,那么必須把他的字段值定義成數值型的,例如0和1,這樣才算是連續變量,才能做回歸分析,假如要做分類,我們就可以把性別的字段設定成字符串,例如男和女。
2)數據的考慮
關于數據的考慮就是你能獲取到的數據案例,就是二維表中除了表頭數據字段名稱剩下的真實數據了,對于數據考慮,作為產品經理我們要考慮兩點:
一個是數據量,在機器學習中,數據需要一定的量,希望可以盡可能的大;
一個是數據的缺省,這個是數據質量問題,要求我們盡可能完善的收集數據,如果數據缺失比較多或者數據亂碼比較多的字段,可以不參與模型測算,否則會影響結果,
(3)算法選擇
算法選擇確定了機器學習的需求、確定了數據項,選擇何種算法模型的問題,此階段由算法工程師主導的,我們知道機器學習有很多的算法,所以算法選擇也具有多樣性;
同樣一個問題可以多種算法解決,隨著計算機科學的發展,為了也會有更多的算法支持,同時同一種算法也可以通過調參進行優化。
2. 數據處理
數據處理就是數據的選擇和清洗的過程,數據準備好后,確定了算法,確定了需求,就需要對數據進行處理,數據處理的目的就是盡可能降低對算法的干擾。在數據處理中我們會經常用到“去噪”和“歸一”。
去噪就是去除數中干擾的數據,也就是說你的數據案例中存在特別情況的,或者是不正常的數據,一方面要求我們產品經理拿到的數據是反映真實世界的數據,一方面我們通過算法可以識別干擾的數據,比如對于數據有正態分布效果的我們可以通過3標準差去噪,因此去噪的目的就是去除掉數據中異常的數據。
歸一就是將數據進行簡化,一般將數據簡化在【0,1】,數據歸一化主要是幫助算法能夠很好的尋找最優解。
一方面解決的是對于一個數據字段可有多重標示方式,然后數據拿到的多重標示方式的時候,比如一群羊有30只羊,然后你那到的數據有以群為單位的,有以只為單位的,那么著數據必然有誤差;
再比如形容一個小時,我們可以以小時單位,也可以以分鐘為單位,也可以以秒單位,因為數據分析是不分析單位的,就需要歸一化處理,這也就是歸一化解決的第一個問題“去量綱”這需要產品經理在獲取數據的時候,統一數據計量單位;
歸一化另外一個問題就是解決算法“收斂”的問題,這個需要算法去實現,比如你要分析X和Y,X的數據范圍是【0-10】,Y的數據范圍是【0-100000】算法在處理時考慮到數據收斂問題,會對數據標準化處理。
當然在數據處理中有很多手段,并且有很多算法協助去處理,數據梳理的目的就是按照業務場景將數據優化成對算法模型干擾最小的階段。
3. 特征工程
在機器學習中有這么一種說法,數據和特征決定了機器學習的上限,模型和算法只是逼近這個上限,數據和特征是算法模型的基礎,所謂特征工程就是對處理完成后的數據進行特征提取,轉換成算法模型可以使用的數據。
特征功能的目的有以下幾個方面:
從數據抽取出對預測結果有用的數據;
從數據中構建衍生出對結果有用的信息;
尋找更好的特征提高算法高效性;
尋找更好的特征可以選擇簡單的模型就能出具更好的擬合效果。
一般情況下在數據處理過程中就可以進行特征工程的工作,比如歸一化處理,我們可能在進行特征發現的時候,還需要進一步進行數據處理。
什么是特征?特征就是在原始數據可測量的屬性,可測量可以理解成這個數據指標可以被統計,可以被運算或是計算,比如時間戳數據,我們通常獲取的數據就是年月日時分秒的結構,比如2019-01-09;12:30:45,這樣一個數據是無法被機器學習所運算的,所以需要對這個數進行特征轉換,轉換成一些數值的表達式,以便于算法理解。
特征工程處理過程包括特征的抽象、特征的評估與選擇(同一數據可以抽象成多種特征,對多種特征進行評估和選擇)、特征的衍生(特征與特征之間進行組合使用)。特征工程是特征業務定義、算法、數據處理綜合的應用。
作為產品經理,我們重點說明一下特征的抽象。特征的抽象就是對原數據轉換成特征數據的過程。
我們舉幾個例子來說明一下:比如你收集到的數據值字符型的數據,比如你收集到的數據是“是和否”型的數據,這種數據機器是無法運算的,那么我們可以轉換成“0和1”這樣講數據進行特征抽象后就可以機器學習了。
特征工程是機器學習很重要的一環,特征的好壞直接影響了機器學些的結果,對于同一組數據,我們可能用了相同的算法,但是因為特征選擇的不同,我們最終得出的質量也會有很大的差別。所以對特征工程有興趣的可以參考相關其他相關更詳細的資料。
4. 模型訓練與應用服務
模型訓練就是經歷了數據準備、數據處理、特征工程之后,根據選擇好的算法,進行訓練與評估,通過算法訓練得到算法模型,通過新數據測試完成模型質量的評估,這款主要工作在算法工程師這里,產品經理重點關注模型在新數據不斷注入的情況下是可以反復訓練的。
應用服務就是說模型訓練好了,如何輸出的問題,以及如何快速訓練模型、配置模型相關參數的問題,對于模型的應用可以通過API的方式供應用層調用,應用層也可以通過配置頁面來配置模型相關參數,比如置信度等。
5. 了解機器學習流程對產品經理意義
通過簡單直白的介紹機器學習流程,對我們產品經理有以下意義:
機器學習過程,不是一個簡單的過程,不是說定好了需求,直接交給算法工程師就可以了,產品經理要把握機器學習業務場景抽象;要對原始數據質量、數量有很好的把控;對特征的抽象需要有深入的了解;
機器學習的基礎是數據、以及數據特征的轉換,需要我們對處理的處理過程有更深層次的了解與掌握,需要多學一些數據、統計學、計量學相關知識;
機器學習的需求也不僅僅是通過原型、文檔就能解決的,需要產品經理與工程師深度的合作,參與到機器學習的過程中。
評論
查看更多