0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用兩種機(jī)器學(xué)習(xí)的方法——邏輯回歸和樸素貝葉斯分類器

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-10-04 09:34 ? 次閱讀

識別虛假新聞可以說是 Facebook 等社交網(wǎng)絡(luò)目前最重視的問題。本文,我們就將介紹如何利用兩種機(jī)器學(xué)習(xí)的方法——邏輯回歸和樸素貝葉斯分類器,來識別存在故意誤導(dǎo)的新聞文章。

自然語言處理( NLP )屬于計(jì)算機(jī)科學(xué)領(lǐng)域,它致力于處理和分析任何形式的自然人類語言(書面,口頭或其他)。 簡而言之,計(jì)算機(jī)只能理解 0 和 1 ,而人類則使用各種語言進(jìn)行溝通,NLP 的目的便是在這兩個(gè)“世界”間搭建溝通的橋梁,這樣數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師能分析大量的人類溝通數(shù)據(jù)。

那 NLP 如何識別虛假新聞呢?實(shí)際上,NLP 會把文章分解成一個(gè)個(gè)小成分并篩選出其中的重要特征,而后我們搭建并訓(xùn)練模型去識別這其中不靠譜的內(nèi)容來鑒別虛假新聞。

這次嘗試不僅練習(xí)了自然語言處理的技能,也學(xué)習(xí)了一些有效構(gòu)建強(qiáng)大分類模型的技術(shù)。

▌數(shù)據(jù)清洗

首先從 Kaggle 庫中選取一個(gè)包含兩萬篇標(biāo)記文章的數(shù)據(jù)集用于測試效果,結(jié)果顯示,模型在預(yù)測標(biāo)簽時(shí)的準(zhǔn)確度為93%。

在大部分以數(shù)據(jù)為主體的項(xiàng)目中,第一道工序便是數(shù)據(jù)清洗。在鑒別虛假新聞時(shí),我們需要處理成千上萬篇來自不同領(lǐng)域、有著不同清晰度的文章。 為了有效篩選需要的內(nèi)容,我們使用正則表達(dá)式來提取分析中所需要的字符串類型。例如,這是一行使用 re python 模塊的代碼:

參閱鏈接:

https://docs.python.org/3/howto/regex.html#

這行代碼會使用空格來替換所有不是字母或數(shù)字的字符。 第一個(gè)參數(shù),“[^A-Za-z0-9']” ,表示除非符合括號內(nèi)的指定集,其他內(nèi)容將全部替換成第二個(gè)參數(shù),也就是空格。 一旦我們刪除了那些不需要的字符,我們就可以開始進(jìn)行標(biāo)記化和矢量化了!

Scikit-learn 是一個(gè)令人驚嘆的 python 機(jī)器學(xué)習(xí)包,它能承擔(dān)很多繁重的工作。 特別是 Count Vectorizer 這個(gè)函數(shù),它能創(chuàng)建所有被分析文本的完整詞匯表,并將每個(gè)單獨(dú)的文檔轉(zhuǎn)換為表示每個(gè)單詞總數(shù)的向量。 因?yàn)榇蠖鄶?shù)文章并不會包含詞匯表里的大部分單詞,函數(shù)將返回一個(gè)稀疏矩陣形式的向量。 矢量化器則允許我們對各種預(yù)處理函數(shù)和首選的標(biāo)記器進(jìn)行集成。

參閱鏈接:

http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.te

xt.CountVectorizer.html

一個(gè)被矢量化的文章的示例,每行包含我們初始的1000個(gè)特征詞的出現(xiàn)次數(shù)

在分析新聞的情況下,僅考慮單個(gè)單詞的方法過于簡單,因此我們會允許對雙字符或兩個(gè)單詞短語進(jìn)行向量化。 我們將特征的數(shù)量限制為1000,這樣我們在通過特征判斷真假時(shí)就只需考慮文檔內(nèi)最重要的那些特征。

▌特征工程

特征工程是不一個(gè)簡單的技能,它更像是復(fù)雜的藝術(shù)形式。 它包含了考慮數(shù)據(jù)集和域的過程,選擇對于模型最有用的特征,以及測試特征以優(yōu)化選擇。 Scikit-learn 的矢量化器提取了我們的1000個(gè)基礎(chǔ)的 n 元語法( n-gram ) 特征,同時(shí)我們開始添加元特征來改進(jìn)我們的分類。我們決定計(jì)算每個(gè)文檔中的平均單詞長度和出現(xiàn)數(shù)字的次數(shù),以此提高我們模型的準(zhǔn)確性。

左:各類特征 右:情感得分

情感分析是 NLP 中的另一種分析工具,它可以量化文章中的情緒并評分。我們在這里使用了兩個(gè)包,TextBlob 和 Natural Language Toolkit 的 Vader 。它們都是分析文中情緒的工具。 Vader 會針對文章的偏激性和中立性進(jìn)行測量和評分,而 TextBlob 則會測量文章的偏激性和整體主觀性。我們原本猜想這些情緒分布會根據(jù)文章的真實(shí)性和誤導(dǎo)性有大幅變化,但在實(shí)際情況中我們發(fā)現(xiàn)這種差異并不明顯。

通過 Vader 得出的中性文章情緒的分布,0代表的是完全中立

TextBlob 情感得分

(左:-1 代表極性為負(fù),1 代表極性為正;右:0 代表非??陀^,1 代表非常主觀)

從上圖可以看出,通過情感評分的方法不能體現(xiàn)出明顯的差異。 然而,我們認(rèn)為感情分?jǐn)?shù)和分類器兩者的綜合使用可提高判斷的準(zhǔn)確率,因此我們決定將它保留在模型中。

▌邏輯回歸

我們在這里考慮的系統(tǒng)是僅僅包含真和假兩類。 通過給出的相關(guān)特征,我們對文章是虛假捏造的概率進(jìn)行建模。 多項(xiàng)邏輯回歸( LR )是這項(xiàng)工作的理想候選者,我們的模型通過使用對數(shù)變換(logit transformation)和最大似然估計(jì)(maximum likelihood estimation)來模擬預(yù)測變量的相關(guān)不可靠性的概率。

換句話說,LR 會直接計(jì)算后驗(yàn) p(x|y) , 學(xué)習(xí)如何給輸入的特征分配標(biāo)簽。 這是一個(gè)判別法的例子,雖然在技術(shù)層面上這并不是一個(gè)統(tǒng)計(jì)分類,但它可以對分類資格的條件概率進(jìn)行賦值。SciKit-Learn 的邏輯回歸模型提供了一種便利的方法來執(zhí)行此操作。

參閱鏈接:

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

左:邏輯回歸的 ROC 曲線;右:回歸中排名前二十的特征

▌樸素貝葉斯分類器

我們的第二種方法是使用樸素貝葉斯算法( NB )算法,雖然它很簡單,但是它十分適用于這個(gè)模型。通過假設(shè)特征之間的獨(dú)立性,NB 從每個(gè)標(biāo)簽文章中學(xué)習(xí)聯(lián)合概率 p(x,y) 的模型。基于貝葉斯規(guī)則計(jì)算得到的條件概率,模型會依據(jù)最大概率對文章進(jìn)行標(biāo)簽分配并預(yù)測真?zhèn)?。與前面提到的方法不同,這是一個(gè)生成分類器的例子。

貝葉斯分類器,使用 MAP 決策規(guī)則

在這種情況下,我們考慮是一個(gè)多項(xiàng)事件模型,它能最準(zhǔn)能確地表示我們的特征分布情況。 正如預(yù)期的那樣,其結(jié)果與邏輯擬合所得出的結(jié)論十分接近

左:多項(xiàng)樸素貝葉斯的 ROC 曲線;右:樸素貝葉斯分類器中排名前20的特征

▌結(jié)論

機(jī)器學(xué)習(xí)可以有效地識別以虛假新聞形式存在的錯誤信息。 即便是沒有標(biāo)題來源等上下文信息,僅正文內(nèi)容也足以用來進(jìn)行分析和學(xué)習(xí)。 因此,這些策略可以很簡單地應(yīng)用于那些沒有額外描述的文檔。 雖然單獨(dú)使用情緒評分法并不能準(zhǔn)確地判別假新聞,但當(dāng)它與其他功能一起使用時(shí),則可以提高分類器的準(zhǔn)確性。未來可以嘗試將其與其他流行的模型進(jìn)行比較,比如支持矢量機(jī)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 分類器
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

    13149
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131838
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24535

原文標(biāo)題:教你用邏輯回歸和樸素貝葉斯算法識別虛假新聞,小技能大用途!

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之logistic回歸

    logistic回歸是一廣義的線性回歸,通過構(gòu)造回歸函數(shù),利用機(jī)器
    的頭像 發(fā)表于 09-29 15:17 ?2255次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>實(shí)戰(zhàn)之logistic<b class='flag-5'>回歸</b>

    【下載】《機(jī)器學(xué)習(xí)》+《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》

    ]目錄:第一部分 分類第1章 機(jī)器學(xué)習(xí)基礎(chǔ)  2第2章 k-近鄰算法   15第3章 決策樹   32第4章 基于概率論的分類方法
    發(fā)表于 06-01 15:49

    如何規(guī)劃出完美的機(jī)器學(xué)習(xí)入門路徑?| AI知識科普

    的不同,機(jī)器學(xué)習(xí)可分為:監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí),半監(jiān)督學(xué)習(xí),強(qiáng)化學(xué)習(xí)。在這里我們講2
    發(fā)表于 07-27 12:54

    非常通俗的樸素貝葉斯算法(Naive Bayes)

    這個(gè)賬號為真。4性別分類的例子本例摘自維基百科,關(guān)于處理連續(xù)變量的另一種方法。下面是一組人類身體特征的統(tǒng)計(jì)資料。已知某人身高6英尺、體重130磅,腳掌8英寸,請問該人是男是女?根據(jù)樸素貝葉斯分
    發(fā)表于 10-08 10:14

    如何選擇機(jī)器學(xué)習(xí)的各種方法

    的這篇博客,講述了如何選擇機(jī)器學(xué)習(xí)的各種方法。 另外,Scikit-learn 也提供了一幅清晰的路線圖給大家選擇:其實(shí)機(jī)器學(xué)習(xí)的基本算法都
    發(fā)表于 03-07 20:18

    回歸算法有哪些,常用回歸算法(3)詳解

    回歸是數(shù)學(xué)建模、分類和預(yù)測中最古老但功能非常強(qiáng)大的工具之一。回歸在工程、物理學(xué)、生物學(xué)、金融、社會科學(xué)等各個(gè)領(lǐng)域都有應(yīng)用,是數(shù)據(jù)科學(xué)家常用的基本工具。回歸通常是
    發(fā)表于 07-28 14:36

    人工智能算法有哪些?

    貝葉斯法是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類方法。最為廣泛的兩種分類模型是決策樹模型和樸素貝葉斯模型。和決策樹模型相比,
    發(fā)表于 03-05 14:15

    樸素貝葉斯分類器一階擴(kuò)展的注記

    眾多研究者致力于將樸素貝葉斯方法與原有的ILP系統(tǒng)結(jié)合,形成各種各樣的多關(guān)系樸素貝葉斯分類器(MRNBC)。該文提出形成樸素
    發(fā)表于 04-18 08:57 ?12次下載

    Python機(jī)器學(xué)習(xí)庫和深度學(xué)習(xí)庫總結(jié)

    是基于Scipy為機(jī)器學(xué)習(xí)建造的的一個(gè)Python模塊,他的特色就是多樣化的分類,回歸和聚類的算法包括支持向量機(jī),邏輯
    發(fā)表于 11-10 14:49 ?843次閱讀

    樸素貝葉斯等常見機(jī)器學(xué)習(xí)算法的介紹及其優(yōu)缺點(diǎn)比較

    還是在于是否是要求聯(lián)合分布),非常簡單,你只是做了一堆計(jì)數(shù)。如果注有條件獨(dú)立性假設(shè)(一個(gè)比較嚴(yán)格的條件),樸素貝葉斯分類器的收斂速度將快于判別模型,如邏輯回歸,所以你只需要較少的訓(xùn)練數(shù)
    發(fā)表于 09-29 16:18 ?7次下載
    <b class='flag-5'>樸素</b>貝葉斯等常見<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>算法的介紹及其優(yōu)缺點(diǎn)比較

    機(jī)器學(xué)習(xí)樸素貝葉斯應(yīng)用教程

    今天介紹機(jī)器學(xué)習(xí)中一基于概率的常見的分類方法,樸素貝葉斯,之前介紹的KNN, decision
    發(fā)表于 11-25 12:49 ?1344次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>之<b class='flag-5'>樸素</b>貝葉斯應(yīng)用教程

    貝葉斯分類器原理及應(yīng)用分析

    貝葉斯分類器分類原理是通過某對象的先驗(yàn)概率,利用貝葉斯公式計(jì)算出其后驗(yàn)概率,即該對象屬于某一類的概率,選擇具有最大后驗(yàn)概率的類作為該對象所屬的類。在具有模式的完整統(tǒng)計(jì)知識條件下,按照貝葉斯決策理論進(jìn)行設(shè)計(jì)的一
    發(fā)表于 11-30 16:12 ?1.2w次閱讀
    <b class='flag-5'>貝葉斯分類器</b>原理及應(yīng)用分析

    樸素貝葉斯算法的后延概率最大化的認(rèn)識與理解

    樸素貝葉斯法是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類方法。最為廣泛的兩種分類模型是決策樹模型(Decision Tree Model)和
    發(fā)表于 11-30 17:11 ?3249次閱讀
    <b class='flag-5'>樸素</b>貝葉斯算法的后延概率最大化的認(rèn)識與理解

    基于概率的常見的分類方法--樸素貝葉斯

    本文介紹機(jī)器學(xué)習(xí)中一基于概率的常見的分類方法,樸素貝葉斯,之前介紹的KNN, decision
    的頭像 發(fā)表于 02-03 14:37 ?5107次閱讀
    基于概率的常見的<b class='flag-5'>分類</b><b class='flag-5'>方法</b>--<b class='flag-5'>樸素</b>貝葉斯

    機(jī)器學(xué)習(xí)樸素貝葉斯

    學(xué)習(xí)過概率的人一定知道貝葉斯定理,在信息領(lǐng)域內(nèi)有著無與倫比的地位。貝葉斯算法是基于貝葉斯定理的一類算法,主要用來解決分類回歸問題。人工智能之機(jī)器學(xué)
    發(fā)表于 05-29 09:01 ?837次閱讀