來源:Master編程樹
“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的機器學習的定義是“利用經驗來改善計算機系統自身的性能”。事實上,由于“經驗”在計算機系統中主要以數據的形式存在,因此機器學習需要設法對數據進行分析學習,這就使得它逐漸成為智能數據分析技術的創新源之一,并且受到越來越多的關注。
成功訓練一個模型需要四個要素:數據、轉換數據的模型、衡量模型好壞的損失函數和一個調整模型權重以便最小化損失函數的算法。
機器學習里最重要的四類問題(按學習結果分類):
預測(Prediction):一般用回歸(Regression,Arima)等模型。
聚類(Clustering):如K-means方法。
分類(Classification):如支持向量機法(Support Vector Machine,SVM),邏輯回歸(Logistic Regression)。
降維(Dimensional reduction):如主成分分析法(Principal Component Analysis,PCA,即純矩陣運算)。
如果按照學習方法,機器學習又可以分為如下幾類
- 監督學習(SupervisedLearning,如深度學習);
- 無監督學習(Un-supervised Learning,如聚類);
- 半監督學習(Semi-supervised Learning);
- 增強學習(Reinforced Learning)。
幾種常用的機器學習方法:
- 文本分類
- 特征提取
- 標注
- 搜索與排序
- 推薦系統
- 序列學習
1、文本分類
文本分類技術在NLP領域有著舉足輕重的地位。文本分類是指在給定分類體系,根據文本內容自動確定文本類別的過程。20世紀90年代以來,文本分類已經出現了很多應用,比如信息檢索、Web 文檔自動分類、數字圖書館、自動文摘、分類新聞、文本過濾單詞語義辨析、情感分析等。
分類過程主要分為兩個階段,訓練階段和預測階段。訓練階段根據訓練數據訓練得到分類模型。預測階段根據分類器推斷出文本所屬類別。訓練階段一般需要先分詞,然后提取文本為特征,提取特征的過程稱之為特征提取。
一般來說文本分類大致分為如下幾個步驟:
1)定義階段:定義數據以及分類體系,具體分為哪些類別,需要哪些數據
2)數據預處理:對文檔做分詞、去停用詞等準備工作。
3)數據提取特征:對文檔矩陣進行降維,提取訓練集中最有用的特征。
4)模型訓練階段:選擇具體的分類模型以及算法,訓練出文本分類器。
5)評測階段:在測試集上測試并評價分類器的性能。
6)應用階段:應用性能最高的分類模型對待分類文檔進行分類。
2、特征提取
在使用分類器之前,需要對文本提取特征,而一般來說,提取特征有幾種經典的方法:
Bag-of-words:最原始的特征集,一個單詞/分詞就是一個特征。往往一個數據集就會有上萬個特征;有一些簡單的指標可以幫助篩選掉一些對分類沒幫助的詞語,例如去停詞、計算互信息熵等。但不管怎么訓練,特征維度都很大,每個特征的信息量太小。
統計特征:包括Termfrequency(TF)、Inverse document frequency(IDF),以及合并起來的TF-IDF。這種語言模型主要是用詞匯的統計特征來作為特征集,每個特征都能夠說得出物理意義,看起來會比bag-of-words效果好,但實際效果也差不多。
- N-Gram:一種考慮了詞匯順序的模型,就是N階Markov鏈,每個樣本轉移成轉移概率矩陣,也能取得不錯的效果。
3、標注事實上,有一些看似分類的問題在實際中卻難以歸于分類。例如,把圖所示的小女孩與狗這張圖無論分類成人還是狗看上去都有些問題。
圖里既有人又有狗。其實還不止這些,里面還有草啊、書包啊、樹啊等。與其將上圖僅僅分類為其中一類,倒不如把這張圖里面我們所關心的類別都標注出來。比如,給定一張圖片,我們希望知道里面是否有人、是否有狗、是否有草等。給定一個輸人,輸出不定量的類別,這個就叫作標注任務。
4、搜索與排序
在這個數據爆炸的時代,在大量數據的場景下,如何用算法幫助人們從這些無序的信息中找到人們需要的信息就成為一個剛需。搜索與排序關注的問題更多的是如何對一堆對象排序。例如在信息檢索領域,我們常常關注如何把海量的文檔按照與檢索條目的相關性進行排序。在互聯網時代,由于谷歌和百度等搜索引擎的流行,我們更加關注如何對網頁進行排序。互聯網時代早期,谷歌研發出一個著名的網頁排序算法-PageRank。該算法的排序結果并不取決于特定的用戶檢索條目,這些排序結果可以更好地為所包含的檢索條目的網頁進行排序。
5、推薦系統
推薦系統和搜索排序關系緊密,并且被廣泛應用于電子商務、搜索引擎、新聞門戶等。推薦系統的主要目標是把用戶可能感興趣的東西推薦給用戶。推薦算法用到的信息種類非常多,例如用戶的自我描述、過往的購物習慣,以及對過往推薦的反饋等。
6、序列學習序列學習是一類近來備受關注的機器學習問題。在這類問題中,需要考慮順序問題輸入和輸出的長度不固定(例如翻譯,輸入的英文和翻譯出來的中文長度都是不固定的)。這類模型通常可以處理任意長度的輸人序列,或者輸出任意長度的序列。當輸入和輸出都是不定長的序列時,我們把這類模型稱為seq2seq,例如QA問答系統、語言翻譯模型和語音轉錄文本模型。
以下列舉了一些常見的序列學習案例。
1. 語音識別
在語音識別的問題里,輸人序列通常都是麥克風的聲音,而輸出是對通過麥克風所說的話的文本轉錄。這類問題通常有一個難點,例如聲音通常都在特定的采樣率下進行采樣,因為聲音和文本之間不存在一一對應的關系。換言之,語音識別是一類序列轉換問題。這里的輸出往往比輸人短很多。
2. 文本轉語音
這是語音識別問題的逆問題。這里的輸入是一個文本序列,而輸出才是聲音序列。因此,這類問題的輸出比輸入長。
3. 機器翻譯機器翻譯的目標是把一段話從一種語言翻譯成另一種語言,例如把中文翻譯成英語。目前,機器翻譯技術已經很成熟,例如國內的科大訊飛以及百度語音在中文翻譯領域都有不錯的成績,不過有的時候也會出現一些尷尬的翻譯結果。
機器翻譯的復雜程度是非常高的,同一個詞在兩種不同語言下有時候是多對多的關系。另外,符合語法或者語言習慣的語序調整也令問題更加復雜。
-
計算機
+關注
關注
19文章
7499瀏覽量
88008 -
機器學習
+關注
關注
66文章
8419瀏覽量
132678 -
nlp
+關注
關注
1文章
488瀏覽量
22039
發布評論請先 登錄
相關推薦
評論