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