機器學習的基本概念


目錄

  1. 機器學習定義
  2. 基本概念
  3. 機器學習之常見應用框架
  4. 機器學習、數據分析、數據挖掘區別與聯系
  5. 機器學習分類【重要】
  6. 機器學習開發流程【重要】
  7. 機器學習之商業場景   

一、機器學習定義

Machine Learning(ML) is a scientific discipline that deals with the construction and study of algorithms that can learn from data.

機器學習是一門從數據中研究算法的科學學科。機器學習直白來講,是根據已有的數據,進行算法選擇,並基於算法和數據構建模型,最終對未來進行預測

A program can be said to learn from experience E with respect to some class of tasks T and performance measure P , If its performance at tasks in T, as measured by P, improves with experience E.

對於某給定的任務T,在合理的性能度量方案P的前提下,某計算機程序可以自主學習任務T的經驗E;隨着提供合適、優質、大量的經驗E,該程序對於任務T的性能逐步提高。

機器學習是人工智能的一個分支。我們使用計算機設計一個系統,使它能夠根據提供的訓練數據按照一定的方式來學習;隨着訓練次數的增加,該系統可以在性能上不斷學習和改進;通過參數優化的學習模型,能夠用於預測相關問題的輸出。

二、基本概念

  1. 擬合:構建的算法符合給定數據的特征
  2. 魯棒性:也就是健壯性、穩健性、強健性,是系統的健壯性;當存在異常數據的時候,算法也會擬合數據
  3. 過擬合:算法太符合樣本數據的特征,對於實際生產中的數據特征無法擬合
  4. 欠擬合:算法不太符合樣本的數據特征

三、機器學習之常見應用框架

sciket-learn(Python) http://scikit-learn.org/stable/

Mahout(Hadoop生態圈基於MapReduce) http://mahout.apache.org/

Spark Mllib http://spark.apache.org/

應用場景選擇:

https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

四、機器學習、數據分析、數據挖掘區別與聯系

  1. 數據分析:數據分析是指用適當的統計分析方法對收集的大量數據進行分析,並提取有用的信息,以及形成結論,從而對數據進行詳細的研究和概括過程。在實際工作中,數據分析可幫助人們做出判斷;數據分析一般而言可以分為統計分析、探索性數據分析和驗證性數據分析三大類。
  2. 數據挖掘:一般指從大量的數據中通過算法搜索隱藏於其中的信息的過程。通常通過統計、檢索、機器學習、模式匹配等諸多方法來實現這個過程。
  3. 機器學習:是數據分析和數據挖掘的一種比較常用、比較好的手段。

五、機器學習分類

5.1 有無標簽划分

有監督學習

用已知某種或某些特性的樣本作為訓練集,以建立一個數學模型,再用已建立的模型來預測未知樣本,此種方法被稱為有監督學習,是最常用的一種機器學習方法。是從標簽化訓練數據集中推斷出模型的機器學習任務。

  1. 判別式模型(Discriminative Model):直接對條件概率p(y|x)進行建模,常見判別模型有:線性回歸、決策樹、支持向量機SVM、k近鄰、神經網絡等;
  2. 生成式模型(Generative Model):對聯合分布概率p(x,y)進行建模,常見生成式模型有:隱馬爾可夫模型HMM、朴素貝葉斯模型、高斯混合模型GMM、LDA等;

生成式模型更普適;判別式模型更直接,目標性更強

生成式模型關注數據是如何產生的,尋找的是數據分布模型;判別式模型關注的數據的差異性,尋找的是分類面

由生成式模型可以產生判別式模型,但是由判別式模式沒法形成生成式模型

無監督學習

與監督學習相比,無監督學習的訓練集中沒有人為的標注的結果,在非監督的學習過程中,數據並不被特別標識,學習模型是為了推斷出數據的一些內在結構。

  1. 無監督學習試圖學習或者提取數據背后的數據特征,或者從數據中抽取出重要的特征信息,常見的算法有聚類、降維、文本處理(特征抽取)等。
  2. 無監督學習一般是作為有監督學習的前期數據處理,功能是從原始數據中抽取出必要的標簽信息。

半監督學習

考慮如何利用少量的標注樣本和大量的未標注樣本進行訓練和分類的問題,是有監督學習和無監督學習的結合

5.2 功能性分類

分類

通過分類模型,將樣本數據集中的樣本映射到某個給定的類別中(一般四有監督)

聚類

通過聚類模型,將樣本數據集中的樣本分為幾個類別,屬於同一類別的樣本相似性比較大(屬於無監督)

回歸

反映了樣本數據集中樣本的屬性值的特性,通過函數表達樣本映射的關系來發現屬性值之間的依賴關系

關聯規則

獲取隱藏在數據項之間的關聯或相互關系,即可以根據一個數據項的出現推導出其他數據項的出現頻率。(也屬於無監督)

算法名稱

算法描述

C4.5

分類決策樹算法,決策樹的核心算法,ID3算法的改進算法。

CART

分類與回歸樹(Classification and Regression Trees)

kNN

K近鄰分類算法;如果一個樣本在特征空間中的k個最相似的樣本中大多數屬於某一個

類別,那么該樣本也屬於該類別

NaiveBayes

貝葉斯分類模型;該模型比較適合屬性相關性比較小的時候,如果屬性相關性比較大的

時候,決策樹模型比貝葉斯分類模型效果好(原因:貝葉斯模型假設屬性之間是互不影

響的)

SVM

支持向量機,一種有監督學習的統計學習方法,廣泛應用於統計分類和回歸分析中。

EM

最大期望算法,常用於機器學習和計算機視覺中的數據集聚領域

Apriori

關聯規則挖掘算法

K-Means

聚類算法,功能是將n個對象根據屬性特征分為k個分割(k<n); 屬於無監督學習

PageRank

Google搜索重要算法之一

AdaBoost

迭代算法;利用多個分類器進行數據分類

六、機器學習開發流程

6.1 數據收集

數據來源:用戶訪問行為數據、業務數據、外部第三方數據

數據存儲:

1、需要存儲的數據:原始數據、預處理后數據、模型結果

2、存儲設施:mysql、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等

數據收集方式:Flume & Kafka(大數據方向的時候要掌握)

在實際工作中,我們可以使用業務數據進行機器學習開發,但是在學習過程中,沒有業務數據,此時可以使用公開的數據集進行開發,常用數據集如下:

http://archive.ics.uci.edu/ml/datasets.html

https://aws.amazon.com/cn/public-datasets/

https://www.kaggle.com/competitions

http://www.kdnuggets.com/datasets/index.html

http://www.sogou.com/labs/resource/list_pingce.php

https://tianchi.aliyun.com/datalab/index.htm 國內的:天池的數據

http://www.pkbigdata.com/common/cmptIndex.html

6.2 數據預處理

-實際生產環境中機器學習比較耗時的一部分

-大部分的機器學習模型所處理的都是特征,特征通常是輸入變量所對應的可用於模型的數值表示

-大部分情況下 ,收集得到的數據需要經過預處理后才能夠為算法所使用,預處理的操作

-主要包括以下幾個部分:

  1. 數據過濾
  2. 處理數據缺失
  3. 處理可能的異常、錯誤或者異常值
  4. 合並多個數據源數據
  5. 數據匯總

-對數據進行初步的預處理,需要將其轉換為一種適合機器學習模型的表示形式,對許多模型類型來說,這種表示就是包含數值數據的向量或者矩陣

  1. 將類別數據編碼成為對應的數值表示(一般使用one-hot編碼方法)
  2. 從文本數據中提取有用的數據(一般使用詞袋法或者TF-IDF)
  3. 處理圖像或者音頻數據(像素、聲波、音頻、振幅等<傅里葉變換>,小波變換主要處理圖像)
  4. 數值數據轉換為類別數據以減少變量的值,比如年齡分段
  5. 對數值數據進行轉換,比如對數轉換
  6. 對特征進行正則化、標准化,以保證同一模型的不同輸入變量的值域相同
  7. 對現有變量進行組合或轉換以生成新特征,比如平均數 (做虛擬變量)不斷嘗試

對於2)做一個分析:

詞袋法:將文本當作一個無序的數據集合,文本特征可以采用文本中的詞條T進行體現,那么文本中出現的所有詞條及其出現的次數就可以體現文檔的特征

TF-IDF: 詞條的重要性隨着它在文件中出現的次數成正比增加,但同時會隨着它在語料庫中出現的頻率成反比下降;也就是說詞條在文本中出現的次數越多,表示該詞條對該文本的重要性越高,詞條在所有文本中出現的次數越少,說明這個詞條對文本的重要性越高。TF(詞頻)指某個詞條在文本中出現的次數,一般會將其進行歸一化處理(該詞條數量/該文檔中所有詞條數量);IDF(逆向文件頻率)指一個詞條重要性的度量,一般計算方式為總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到。TF-IDF實際上是:TF * IDF

6.3 特征提取

6.4 模型構建

模型選擇:對特定任務最優建模方法的選擇或者對特定模型最佳參數的選擇。

6.5 模型測試評估

在訓練數據集上運行模型(算法)並在測試數據集中測試效果,迭代進行數據模型的修改,這種方式被稱為交叉驗證(將數據分為訓練集和測試集,使用訓練集構建模型,並使用測試集評估模型提供修改建議)

模型的選擇會盡可能多的選擇算法進行執行,並比較執行結果

模型的測試一般以下幾個方面來進行比較,分別是准確率/召回率/精准率/F值

  1. 准確率(Accuracy)=提取出的正確樣本數/總樣本數
  2. 召回率(Recall)=正確的正例樣本數/樣本中的正例樣本數——覆蓋率
  3. 精准率(Precision)=正確的正例樣本數/預測為正例的樣本數
  4. F值=Precision*Recall*2 / (Precision+Recall) (即F值為正確率和召回率的調和平均值)

6.6 投入使用(模型部署與整合)

  1. 當模型構建好后,將訓練好的模型存儲到數據庫中,方便其它使用模型的應用加載(構建好的模型一般為一個矩陣)
  2. 模型需要周期性:一個月、一周

6.7 迭代優化

  1. 當模型一旦投入到實際生產環境中,模型的效果監控是非常重要的,往往需要關注業務效果和用戶體驗,所以有時候會進行A/B測試(3:7測試:就是原來系統和加了算法的測試,測試兩者的區別)
  2. 模型需要對用戶的反饋進行響應操作,即進行模型修改,但是要注意異常反饋信息對模型的影響,故需要進行必要的數據預處理操作

6.8 模型過程

七、機器學習之商業場景

個性化推薦:個性化指的是根據各種因素來改變用戶體驗和呈現給用戶內容,這些因素可能包含用戶的行為數據和外部因素;推薦常指系統向用戶呈現一個用戶可能感興趣的物品列表。

精准營銷:從用戶群眾中找出特定的要求的營銷對象。

客戶細分:試圖將用戶群體分為不同的組,根據給定的用戶特征進行客戶分組。

預測建模及分析:根據已有的數據進行建模,並使用得到的模型預測未來。

   

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM