Author Archive

Latent Dirichlet Allocation|LDA

網路轉載版本

要描述 LDA 模型,就要說一下 LDA 模型所屬的產生式模型的背景。產生式模型是相對於判別式模型而說的。這裡,我們假設需要建模的數據有特徵信息,也就是通常說的 X,以及標籤信息,也就是通常所說的 Y。

判別式模型常常直接對 Y 的產生過程(Generative Process) 進行描述,而對特徵信息本身不予建模。這使得判別式模型天生就成為構建分類器或者回歸分析的有利工具。而產生式模型則要同時對 X 和 Y 建模,這使得產生式模型更適合做無標籤的數據分析,比如聚類。當然,因為產生式模型要對比較多的信息進行建模,所以一般認為對於同一個數據而言,產生式模型要比判別式模型更難以學習。

一般來說,產生式模型希望通過一個產生過程來幫助讀者理解一個模型。注意,這個產生過程本質是描述一個聯合概率分布(Joint Distribution)的分解過程。也就是說,這個過程是一個虛擬過程,真實的數據往往並不是這樣產生的。這樣的產生過程是模型的一個假設,一種描述。任何一個產生過程都可以在數學上完全等價一個聯合概率分布。

LDA 的產生過程描述了文檔以及文檔中文字的生成過程。在原始的 LDA 論文中,作者們描述了對於每一個文檔而言有這麼一種生成過程:

  1. 首先,從一個全局的泊松(Poisson)參數為β的分布中生成一個文檔的長度 N;
  2. 從一個全局的狄利克雷(Dirichlet)參數為α的分布中生成一個當前文檔的θ;
  3. 然後對於當前文檔長度 N 的每一個字執行以下兩步,一是從以θ為參數的多項(Multinomial)分布中生成一個主題(Topic)的下標(Index)z_n;二是從以φ和 z 共同為參數的多項分布中產生一個字(Word)w_n。

從這個描述我們可以馬上得到這些重要的模型信息。第一,我們有一個維度是 K 乘以 V 的主題矩陣(Topic Matrix)。其中每一行都是一個φ,也就是某一個生成字的多項分布。當然,這個主題矩陣我們在事先並不知道,是需要學習得到的。另外,對每一個文檔而言,θ是一個長度為 K 的向量,用於描述當前文檔在 K 個主題上的分布。產生過程告訴我們,我們對於文檔中的每一個字,都先從這個θ向量中產生一個下標,用於告訴我們現在要從主題矩陣中的哪一行去生成當前的字。

上面內容轉自《AI技術內參》,是一個很不錯的付費教程,推薦大家訂閱。

 

百度百科版本

LDA(Latent Dirichlet Allocation)是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結構。所謂生成模型,就是說,我們認為一篇文章的每個詞都是通過「以一定概率選擇了某個主題,並從這個主題中以一定概率選擇某個詞語」這樣一個過程得到。文檔到主題服從多項式分布,主題到詞服從多項式分布。

LDA是一種非監督機器學習技術,可以用來識別大規模文檔集(document collection)或語料庫(corpus)中潛藏的主題信息。它採用了詞袋(bag of words)的方法,這種方法將每一篇文檔視為一個詞頻向量,從而將文本信息轉化為了易於建模的數字信息。但是詞袋方法沒有考慮詞與詞之間的順序,這簡化了問題的複雜性,同時也為模型的改進提供了契機。每一篇文檔代表了一些主題所構成的一個概率分布,而每一個主題又代表了很多單詞所構成的一個概率分布。

查看詳情

 

維基百科版本

在自然語言處理中,潛在Dirichlet分配(LDA)是一種生成統計模型,它允許未觀察到的組解釋觀察集,解釋為什麼數據的某些部分是相似的。例如,如果觀察是收集到文檔中的單詞,則假定每個文檔是少量主題的混合,並且每個單詞的存在可歸因於文檔的主題之一。LDA是主題模型的示例。

查看詳情

語音識別技術 – ASR丨Automatic Speech Recognition

一文看懂語音識別

語音識別是什麼?他有什麼價值,以及他的技術原理是什麼?本文將解答大家對語音識別的常見疑問。

 

語音識別技術(ASR)是什麼?

機器要與人實現對話,那就需要實現三步:

機器要與人對話,需要實現3步

對應的便是「耳」、「腦」、「口」的工作,機器要聽懂人類說話,就離不開語音識別技術(ASR)。

語音識別的使用場景

語音識別已經成為了一種很常見的技術,大家在日常生活中經常會用到:

  • 蘋果的用戶肯定都體驗過 Siri ,就是典型的語音識別
  • 微信里有一個功能是”文字語音轉文字”,也利用了語音識別
  • 最近流行的智能音箱就是以語音識別為核心的產品
  • 比較新款的汽車基本都有語音控制的功能,這也是語音識別

 

語音識別技術講解

語音識別技術拆分下來,主要可分為「輸入——編碼——解碼——輸出 」4個流程。

語音識別4個流程:輸入-編碼-解碼-輸出

那語音識別是怎麼工作的呢?

首先聲音的本身是一種波,就像我們常常用一段段波形來表示音頻一樣。  我們常用波段來表示音頻

接下來按步驟:

  1. 給音頻進行信號處理後,便要按幀(毫秒級)拆分,並對拆分出的小段波形按照人耳特徵變成多維向量信息
  2. 將這些幀信息識別成狀態(可以理解為中間過程,一種比音素還要小的過程)
  3. 再將狀態組合形成音素(通常3個狀態=1個音素)
  4. 最後將音素組成字詞(dà jiā hǎo)並串連成句 。於是,這就可以實現由語音轉換成文字了。 將音素組成字詞

 

百度百科和維基百科

百度百科版本

語音識別技術,也被稱為自動語音識別 Automatic Speech Recognition,(ASR),其目標是將人類的語音中的辭彙內容轉換為計算機可讀的輸入,例如按鍵、二進位編碼或者字元序列。與說話人識別及說話人確認不同,後者嘗試識別或確認發出語音的說話人而非其中所包含的辭彙內容。

查看詳情

維基百科版本

語音識別是計算語言學的跨學科子領域,其開發方法和技術,使得能夠通過計算機識別和翻譯口語。它也被稱為自動語音識別(ASR),計算機語音識別或語音到文本(STT)。它融合了語言學,計算機科學和電氣工程領域的知識和研究。

一些語音識別系統需要「訓練」(也稱為「登記」),其中個體說話者將文本或孤立的辭彙讀入系統。系統分析人的特定聲音並使用它來微調對該人的語音的識別,從而提高準確性。不使用訓練的系統稱為「說話者無關」 系統。使用訓練的系統稱為「說話者依賴」。

查看詳情

 

如何評估模型的好壞

如何比較我們已經構建的模型呢? 若要在模型A和模型B之間做比較,哪個是贏家,為什麼? 又或者,能否將兩個模型組合起來以實現性能的最優化?

張量 | Tensor

一文看懂張量tensor

什麼是張量

張量有很多種定義的方式,這裡只討論人工智慧領域裡的概念。

在人工智慧領域,定義比較簡單,TensorFlow是這麼定義的:

A tensor is a generalization of vectors and matrices to potentially higher dimensions.

簡單翻譯過來就是:張量是多維數組,目的是把向量、矩陣推向更高的維度。

 

標量、向量、矩陣、張量的關係

這4個概念是維度不斷上升的,我們用點線面體的概念來比喻解釋會更加容易理解:

  • 點——標量(scalar
  • 線——向量(vector
  • 面——矩陣(matrix
  • 體——張量(tensor)

標量、向量、矩陣、張量的關係

感興趣的可以通過下面的內容了解詳情:

一文看懂標量

一文看懂向量

一文看懂矩陣

一文看懂張量

 

百度百科和維基百科

百度百科版本

張量(tensor)理論是數學的一個分支學科,在力學中有重要應用。張量這一術語起源於力學,它最初是用來表示彈性介質中各點應力狀態的,後來張量理論發展成為力學和物理學的一個有力的數學工具。張量之所以重要,在於它可以滿足一切物理定律必須與坐標系的選擇無關的特性。張量概念是矢量概念的推廣,矢量是一階張量。張量是一個可用來表示在一些矢量、標量和其他張量之間的線性關係的多線性函數。

查看詳情

維基百科版本

在數學中,張量是一種幾何對象,它以多線性方式將幾何向量,標量和其他張量映射到結果張量。因此,通常在基礎物理和工程應用中已經使用的矢量和標量本身被認為是最簡單的張量。另外,來自提供幾何矢量的矢量空間的雙空間的矢量也被包括作為張量。在這種情況下,幾何學主要是為了強調任何坐標系選擇的獨立性。

查看詳情

Transformer

想要了解更多 NLP 相關的內容,請訪問  NLP專題 ,免費提供59頁的NLP文檔下載。

訪問 NLP 專題,下載 59 頁免費 PDF

什麼是 Transformer(知乎版本)?

transformer結構圖

如上圖所示,咋一看,Transformer 的架構是不是有點複雜。。。沒事,下面慢慢講。。。

和經典的 seq2seq 模型一樣,Transformer 模型中也採用了 encoer-decoder 架構。上圖的左半邊用 NX 框出來的,就代表一層 encoder,其中論文裡面的 encoder 一共有6層這樣的結構。上圖的右半邊用 NX 框出來的,則代表一層 decoder,同樣也有6層。

定義輸入序列首先經過 word embedding,再和 positional encoding 相加後,輸入到 encoder 中。輸出序列經過的處理和輸入序列一樣,然後輸入到 decoder。

最後,decoder 的輸出經過一個線性層,再接 Softmax。

於上便是 Transformer 的整體框架,下面先來介紹 encoder 和 decoder。

原文地址

 

什麼是 Transformer(微軟研究院笨笨)?

Transformer在2017年由Google在題為《Attention Is All You Need》的論文中提出。Transformer是一個完全基於注意力機制的編解碼器模型,它拋棄了之前其它模型引入注意力機制後仍然保留的循環與卷積結構,而採用了自注意力(Self-attention)機制,在任務表現、並行能力和易於訓練性方面都有大幅的提高。

在 Transformer 出現之前,基於神經網路的機器翻譯模型多數都採用了 RNN的模型架構,它們依靠循環功能進行有序的序列操作。雖然 RNN 架構有較強的序列建模能力,但是存在訓練速度慢,訓練質量低等問題。

與基於 RNN 的方法不同,Transformer 模型中沒有循環結構,而是把序列中的所有單詞或者符號並行處理,同時藉助自注意力機制對句子中所有單詞之間的關係直接進行建模,而無需考慮各自的位置。具體而言,如果要計算給定單詞的下一個表徵,Transformer 會將該單詞與句子中的其它單詞一一對比,並得出這些單詞的注意力分數。注意力分數決定其它單詞對給定辭彙的語義影響。之後,注意力分數用作所有單詞表徵的平均權重,這些表徵輸入全連接網路,生成新表徵。

由於 Transformer 並行處理所有的詞,以及每個單詞都可以在多個處理步驟內與其它單詞之間產生聯繫,它的訓練速度比 RNN 模型更快,在翻譯任務中的表現也比 RNN 模型更好。除了計算性能和更高的準確度,Transformer 另一個亮點是可以對網路關注的句子部分進行可視化,尤其是在處理或翻譯一個給定詞時,因此可以深入了解信息是如何通過網路傳播的。

之後,Google的研究人員們又對標準的 Transformer 模型進行了拓展,採用了一種新型的、注重效率的時間並行循環結構,讓它具有通用計算能力,並在更多任務中取得了更好的結果。

改進的模型(Universal Transformer)在保留Transformer 模型原有並行結構的基礎上,把 Transformer 一組幾個各異的固定的變換函數替換成了一組由單個的、時間並行的循環變換函數構成的結構。相比於 RNN一個符號接著一個符號從左至右依次處理序列,Universal Transformer 和 Transformer 能夠一次同時處理所有的符號,但 Universal Transformer 接下來會根據自注意力機制對每個符號的解釋做數次並行的循環處理修飾。Universal Transformer 中時間並行的循環機制不僅比 RNN 中使用的串列循環速度更快,也讓 Universal Transformer 比標準的前饋 Transformer 更加強大。

上面內容轉載在公眾號 微軟研究院AI頭條,原文地址

 

無監督學習 – Unsupervised learning | UL

一文看懂無監督學習

無監督學習是機器學習領域內的一種學習方式。本文將給大家解釋他的基本概念,告訴大家無監督學習可以用用到哪些具體場景中。

最後給大家舉例說明2類無監督學習的思維:聚類、降維。以及具體的4種演算法。

 

什麼是無監督學習?

無監督學習是機器學習中的一種訓練方式/學習方式

無監督學習是機器學習下的一個分支

下面通過跟監督學習的對比來理解無監督學習:

  1. 監督學習是一種目的明確的訓練方式,你知道得到的是什麼;而無監督學習則是沒有明確目的的訓練方式,你無法提前知道結果是什麼
  2. 監督學習需要給數據打標籤;而無監督學習不需要給數據打標籤
  3. 監督學習由於目標明確,所以可以衡量效果;而無監督學習幾乎無法量化效果如何

監督學習對比無監督學習

簡單總結一下:

無監督學習是一種機器學習的訓練方式,它本質上是一個統計手段,在沒有標籤的數據里可以發現潛在的一些結構的一種訓練方式。

它主要具備3個特點:

  1. 無監督學習沒有明確的目的
  2. 無監督學習不需要給數據打標籤
  3. 無監督學習無法量化效果

這麼解釋很難理解,下面用一些具體案例來告訴大家無監督學習的一些實際應用場景,通過這些實際場景,大家就能了解無監督學習的價值。

 

無監督學習的使用場景

藉助無監督學習發現異常數據

案例1:發現異常

有很多違法行為都需要”洗錢”,這些洗錢行為跟普通用戶的行為是不一樣的,到底哪裡不一樣?

如果通過人為去分析是一件成本很高很複雜的事情,我們可以通過這些行為的特徵對用戶進行分類,就更容易找到那些行為異常的用戶,然後再深入分析他們的行為到底哪裡不一樣,是否屬於違法洗錢的範疇。

通過無監督學習,我們可以快速把行為進行分類,雖然我們不知道這些分類意味著什麼,但是通過這種分類,可以快速排出正常的用戶,更有針對性的對異常行為進行深入分析。

 

藉助無監督學習細分用戶

案例2:用戶細分

這個對於廣告平台很有意義,我們不僅把用戶按照性別、年齡、地理位置等維度進行用戶細分,還可以通過用戶行為對用戶進行分類。

通過很多維度的用戶細分,廣告投放可以更有針對性,效果也會更好。

 

藉助無監督學習給用戶做推薦

案例3:推薦系統

大家都聽過”啤酒+尿不濕”的故事,這個故事就是根據用戶的購買行為來推薦相關的商品的一個例子。

比如大家在淘寶、天貓、京東上逛的時候,總會根據你的瀏覽行為推薦一些相關的商品,有些商品就是無監督學習通過聚類來推薦出來的。系統會發現一些購買行為相似的用戶,推薦這類用戶最”喜歡”的商品。

 

常見的2類無監督學習演算法

常見的2類演算法是:聚類、降維

2種主流的無監督學習方式:聚類、降維

聚類:簡單說就是一種自動分類的方法,在監督學習中,你很清楚每一個分類是什麼,但是聚類則不是,你並不清楚聚類後的幾個分類每個代表什麼意思。

降維:降維看上去很像壓縮。這是為了在儘可能保存相關的結構的同時降低數據的複雜度。

 

「聚類演算法」K均值聚類

K均值聚類就是制定分組的數量為K,自動進行分組。

K 均值聚類的步驟如下:

  1. 定義 K 個重心。一開始這些重心是隨機的(也有一些更加有效的用於初始化重心的演算法)
  2. 尋找最近的重心並且更新聚類分配。將每個數據點都分配給這 K 個聚類中的一個。每個數據點都被分配給離它們最近的重心的聚類。這裡的「接近程度」的度量是一個超參數——通常是歐幾里得距離(Euclidean distance)。
  3. 將重心移動到它們的聚類的中心。每個聚類的重心的新位置是通過計算該聚類中所有數據點的平均位置得到的。

重複第 2 和 3 步,直到每次迭代時重心的位置不再顯著變化(即直到該演算法收斂)。

其過程如下面的動圖:

K均值聚類的過程

 

「聚類演算法」層次聚類

如果你不知道應該分為幾類,那麼層次聚類就比較適合了。層次聚類會構建一個多層嵌套的分類,類似一個樹狀結構。

層次聚類

層次聚類的步驟如下:

  1. 首先從 N 個聚類開始,每個數據點一個聚類。
  2. 將彼此靠得最近的兩個聚類融合為一個。現在你有 N-1 個聚類。
  3. 重新計算這些聚類之間的距離。
  4. 重複第 2 和 3 步,直到你得到包含 N 個數據點的一個聚類。
  5. 選擇一個聚類數量,然後在這個樹狀圖中劃一條水平線。

 

「降維演算法」主成分分析 – PCA

主成分分析是把多指標轉化為少數幾個綜合指標。

主成分分析經常用減少數據集的維數,同時保持數據集的對方差貢獻最大的特徵。這是通過保留低階主成分,忽略高階主成分做到的。這樣低階成分往往能夠保留住數據的最重要方面。

變換的步驟:

  1. 第一步計算矩陣 X 的樣本的協方差矩陣 S(此為不標準PCA,標準PCA計算相關係數矩陣C)
  2. 第二步計算協方差矩陣S(或C)的特徵向量 e1,e2,…,eN和特徵值 , t = 1,2,…,N
  3. 第三步投影數據到特徵向量張成的空間之中。利用下面公式,其中BV值是原樣本中對應維度的值。 主成分分析公式

 

「降維演算法」奇異值分解 – SVD

奇異值分解(Singular Value Decomposition)是線性代數中一種重要的矩陣分解,奇異值分解則是特徵分解在任意矩陣上的推廣。在信號處理、統計學等領域有重要應用。

了解更多奇異值分解的信息,可以查看維基百科

 

生成模型和GAN

無監督學習的最簡單目標是訓練演算法生成自己的數據實例,但是模型不應該簡單地重現之前訓練的數據,否則就是簡單的記憶行為。

它必須是建立一個從數據中的基礎類模型。不是生成特定的馬或彩虹照片,而是生成馬和彩虹的圖片集;不是來自特定發言者的特定話語,而是說出話語的一般分布。

生成模型的指導原則是,能夠構建一個令人信服的數據示例是理解它的最有力證據。正如物理學家理查德·費曼所說:「我不能創造的東西,我就不能了解」(What I cannot create, I do not understand.)。

對於圖像來說,迄今為止最成功的生成模型是生成對抗網路(GAN)。它由兩個網路組成:一個生成器和一個鑒別器,分別負責偽造圖片和識別真假。

GAN生成的圖像

生成器產生圖像的目的是誘使鑒別者相信它們是真實的,同時,鑒別者會因為發現假圖片而獲得獎勵。

GAN開始生成的圖像是雜亂的和隨機的,在許多次迭代中被細化,形成更加逼真的圖像,甚至無法與真實照片區別開來。最近英偉達的GauGAN還能根據用戶草圖生成圖片。

 

百度百科和維基百科

百度百科版本

現實生活中常常會有這樣的問題:缺乏足夠的先驗知識,因此難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作,或至少提供一些幫助。根據類別未知(沒有被標記)的訓練樣本解決模式識別中的各種問題,稱之為無監督學習。

查看詳情

 

維基百科版本

無監督學習是機器學習的一個分支,它從未經標記,分類或分類的測試數據中學習。無監督學習不是響應反饋,而是根據每個新數據中是否存在這種共性來識別數據中的共性並做出反應。替代方案包括監督學習和強化學習。 無監督學習的中心的應用是在領域密度估計在統計,[1]雖然無監督學習包括許多涉及總結和解釋數據的特徵的其他結構域。

查看詳情

 

擴展閱讀

監督學習 – Supervised learning

什麼是監督學習?

監督學習是機器學習中的一種訓練方式/學習方式

監督學習需要有明確的目標,很清楚自己想要什麼結果。比如:按照「既定規則」來分類、預測某個具體的值…

監督並不是指人站在機器旁邊看機器做的對不對,而是下面的流程:

  1. 選擇一個適合目標任務的數學模型
  2. 先把一部分已知的「問題和答案」(訓練集)給機器去學習
  3. 機器總結出了自己的「方法論」
  4. 人類把”新的問題”(測試集)給機器,讓他去解答

上面提到的問題和答案只是一個比喻,假如我們想要完成文章分類的任務,則是下面的方式:

  1. 選擇一個合適的數學模型
  2. 把一堆已經分好類的文章和他們的分類給機器
  3. 機器學會了分類的「方法論」
  4. 機器學會後,再丟給他一些新的文章(不帶分類),讓機器預測這些文章的分類

 

監督學習的2個任務:回歸、分類

監督學習有2個主要的任務:

  1. 回歸
  2. 分類

回歸:預測連續的、具體的數值。比如:支付寶里的芝麻信用分數(下面有詳細講解)

分類:對各種事物分門別類,用於離散型(什麼是離散?)預測。比如:

 

「回歸」案例:芝麻信用分是怎麼來的?

下面要說的是個人信用評估方法——FICO

他跟芝麻信用類似,用來評估個人的信用狀況。FICO 評分系統得出的信用分數範圍在300~850分之間,分數越高,說明信用風險越小。

下面我們來模擬一下 FICO 的發明過程,這個過程就是監督學習力的回歸。

 

步驟1:構建問題,選擇模型

我們首先找出個人信用的影響因素,從邏輯上講一個人的體重跟他的信用應該沒有關係,比如我們身邊很講信用的人,有胖子也有瘦子。

而財富總額貌似跟信用有關,因為馬雲不講信用的損失是非常巨大的,所以大家從來沒有聽說馬雲會不還信用卡!而一個乞丐不講信用的損失是很小的,這條街混不下去了換一條街繼續。

所以根據判斷,找出了下面5個影響因素:

  • 付款記錄
  • 賬戶總金額
  • 信用記錄跨度(自開戶以來的信用記錄、特定類型賬戶開戶以來的信用記錄…)
  • 新賬戶(近期開戶數目、特定類型賬戶的開戶比例…)
  • 信用類別(各種賬戶的數目)

這個時候,我們就構建了一個簡單的模型:

f 可以簡單理解為一個特定的公式,這個公式可以將5個因素跟個人信用分形成關聯。

我們的目標就是得到 f 這個公式具體是什麼,這樣我們只要有了一個人的這5種數據,就可以得到一個人的信用分數了。

 

步驟2:收集已知數據

為了找出這個公式 f,我們需要先收集大量的已知數據,這些數據必須包含一個人的5種數據和他/她的信用狀態(把信用狀態轉化為分數)。

我們把數據分成幾個部分,一部分用來訓練,一部分用來測試和驗證。

 

步驟3:訓練出理想模型

有了這些數據,我們通過機器學習,就能”猜測”出這5種數據和信用分數的關係。這個關係就是公式 f。

然後我們再用驗證數據和測試數據來驗證一下這個公式是否 OK。

測試驗證的具體方法是:

  1. 將5種數據套入公式,計算出信用分
  2. 用計算出來的信用分跟這個人實際的信用分(預先準備好的)進行比較
  3. 評估公式的準確度,如果問題很大再進行調整優化

 

步驟4:對新用戶進行預測

當我們想知道一個新用戶的信用狀況時,只需要收集到他的這5種數據,套進公式 f 計算一遍就知道結果了!

好了,上面就是一個跟大家息息相關的回歸模型,大致思路就是上面所講的思路,整個過程做了一些簡化,如果想查看完整的過程,可以查看《機器學習-機器學習實操的7個步驟

 

「分類」案例:如何預測離婚

美國心理學家戈特曼博士用大數據還原婚姻關係的真相,他的方法就是分類的思路。

戈特曼博士在觀察和聆聽一對夫妻5分鐘的談話後,便能預測他們是否會離婚,且預測準確率高達94%!他的這項研究還出了一本書《幸福的婚姻》(豆瓣8.4分)。

 

步驟1:構建問題,選擇模型

戈特曼提出,對話能反映出夫妻之間潛在的問題,他們在對話中的爭吵、歡笑、調侃和情感表露創造了某種情感關聯。通過這些對話中的情緒關聯可以將夫妻分為不同的類型,代表不同的離婚概率。

 

步驟2:收集已知數據

研究人員邀請了700對夫妻參與實驗。他們單獨在一間屋子裡相對坐下,然後談論一個有爭論的話題,比如金錢和性,或是與姻親的關係。默里和戈特曼讓每一對夫妻持續談論這個話題15分鐘,並拍攝下這個過程。觀察者看完這些視頻之後,就根據丈夫和妻子之間的談話給他們打分。

 

步驟3:訓練出理想模型

戈特曼的方法並不是用機器學習來得到結果,不過原理都是類似的。他得到的結論如下:

首先,他們將夫妻雙方的分數標繪在一個圖表上,兩條線的交叉點就可以說明婚姻能否長久穩定。如果丈夫或妻子持續得負分,兩人很可能會走向離婚。重點在於定量談話中正負作用的比率。理想中的比率是5∶1,如果低於這個比例,婚姻就遇到問題了。最後,將結果放在一個數學模型上,這個模型用差分方程式凸顯出成功婚姻的潛在特點。

戈特曼根據得分,將這些夫妻分成5組:

  1. 幸福的夫妻:冷靜、親密、相互扶持、關係友好。他們更喜歡分享經驗。
  2. 無效的夫妻:他們盡最大努力避免衝突,只是通過積極回應對方的方式。
  3. 多變的夫妻:他們浪漫而熱情,可爭論異常激烈。他們時而穩定時而不穩定,可總的來說不怎麼幸福。
  4. 敵對的夫妻:一方不想談論某件事,另一方也同意,所以,兩者之間沒有交流。
  5. 彼此無感的夫妻:一方興緻勃勃地想要爭論一番,可另一方對討論的話題根本不感興趣。

該數學模型呈現了兩種穩定型夫妻(關係和諧的夫妻和關係不和諧的夫妻)和兩種不穩定型夫妻(敵對夫妻和無感夫妻)之間的區別。而據預測,不穩定的夫妻可能會一直保持婚姻關係,儘管他們的婚姻不穩定。

 

步驟4:對新用戶進行預測

12年以來,每隔一兩年,默里和戈特曼都會與參與研究的那700對夫妻交流。兩個人的公式對離婚率的預測達到了94%的準確率。

 

主流的監督學習演算法

演算法 類型 簡介
樸素貝葉斯 分類 貝葉斯分類法是基於貝葉斯定定理的統計學分類方法。它通過預測一個給定的元組屬於一個特定類的概率,來進行分類。樸素貝葉斯分類法假定一個屬性值在給定類的影響獨立於其他屬性的 —— 類條件獨立性。
決策樹 分類 決策樹是一種簡單但廣泛使用的分類器,它通過訓練數據構建決策樹,對未知的數據進行分類。
SVM 分類 支持向量機把分類問題轉化為尋找分類平面的問題,並通過最大化分類邊界點距離分類平面的距離來實現分類。
邏輯回歸 分類 邏輯回歸是用於處理因變數為分類變數的回歸問題,常見的是二分類或二項分布問題,也可以處理多分類問題,它實際上是屬於一種分類方法。
線性回歸 回歸 線性回歸是處理回歸任務最常用的演算法之一。該演算法的形式十分簡單,它期望使用一個超平面擬合數據集(只有兩個變數的時候就是一條直線)。
回歸樹 回歸 回歸樹(決策樹的一種)通過將數據集重複分割為不同的分支而實現分層學習,分割的標準是最大化每一次分離的信息增益。這種分支結構讓回歸樹很自然地學習到非線性關係。
K鄰近 分類+回歸 通過搜索K個最相似的實例(鄰居)的整個訓練集並總結那些K個實例的輸出變數,對新數據點進行預測。
Adaboosting 分類+回歸 Adaboost目的就是從訓練數據中學習一系列的弱分類器或基本分類器,然後將這些弱分類器組合成一個強分類器。
神經網路 分類+回歸 它從信息處理角度對人腦神經元網路進行抽象, 建立某種簡單模型,按不同的連接方式組成不同的網路。

 

 

百度百科和維基百科

百度百科版本

監督學習是指:利用一組已知類別的樣本調整分類器的參數,使其達到所要求性能的過程,也稱為監督訓練或有教師學習。

監督學習是從標記的訓練數據來推斷一個功能的機器學習任務。訓練數據包括一套訓練示例。在監督學習中,每個實例都是由一個輸入對象(通常為矢量)和一個期望的輸出值(也稱為監督信號)組成。監督學習演算法是分析該訓練數據,併產生一個推斷的功能,其可以用於映射出新的實例。一個最佳的方案將允許該演算法來正確地決定那些看不見的實例的類標籤。這就要求學習演算法是在一種「合理」的方式從一種從訓練數據到看不見的情況下形成。

查看詳情

維基百科版本

監督學習是學習函數的機器學習任務,該函數基於示例輸入 – 輸出對將輸入映射到輸出。它推斷出一個函數標記的訓練數據由一組訓練樣例組成。在監督學習,每個實施例是一個對由輸入物體(通常為矢量)和期望的輸出值的(也稱為監控信號)。監督學習演算法分析訓練數據併產生推斷函數,該函數可用於映射新示例。最佳方案將允許演算法正確地確定看不見的實例的類標籤。這要求學習演算法以「合理」的方式從訓練數據推廣到看不見的情況。

查看詳情