




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
商務大數(shù)據(jù)分析
導論目錄項目一
數(shù)據(jù)分析基礎項目二
大數(shù)據(jù)分析算法項目三
創(chuàng)業(yè)實踐:數(shù)據(jù)采集與整理
項目四
創(chuàng)業(yè)實踐:構建數(shù)據(jù)模型項目五
創(chuàng)業(yè)實踐:認識客戶價值項目六
創(chuàng)業(yè)實踐:數(shù)據(jù)可視化項目七
數(shù)字化創(chuàng)新創(chuàng)業(yè)實踐項目二大數(shù)據(jù)分析算法項目二大數(shù)據(jù)分析算法任務一
決策
1.信息、熵及信息增益的概念
1.1信息及其度量
1.2信息熵
1.3條件熵、信息增益及信息增益比
2.決策樹的構建
2.1ID3算法
2.2C4.5算法
2.3ID3、C4.5、CART的區(qū)別算法
3.算法用例1.信息、熵及信息增益的概念1.1信息及其度量克勞德·艾爾伍德·香農,美國數(shù)學家、電子工程師和密碼學家,被譽為信息論的創(chuàng)始人。他發(fā)表了劃時代的論文——通信的數(shù)學原理,奠定了現(xiàn)代信息論的基礎。不僅如此,香農還被認為是數(shù)字計算機理論和數(shù)字電路設計理論的創(chuàng)始人。香農對信息的描述是“信息是用來消除隨機不確定性的東西”。信息是消息中包含的有效內容,那么如何度量離散消息中所含的信息量?其度量的基本原則有三點,一是能度量任何消息,并與消息的種類無關;二是度量方法應該與消息的重要程度無關;三是消息中所含信息量和消息內容的不確定性有關。1.2信息熵當熵中的概率由數(shù)據(jù)估計(特別是最大似然估計)得到時,所對應的熵稱為經(jīng)驗熵(empiricalentropy)。所謂數(shù)據(jù)估計,是指通過訓練數(shù)據(jù)計算得出的分類概率值,比如有10個數(shù)據(jù),一共有兩個類別,A類和B類。其中有7個數(shù)據(jù)屬于A類,則該A類的概率即為十分之七。其中有3個數(shù)據(jù)屬于B類,則該B類的概率即為十分之三。淺顯的解釋就是,這概率是我們根據(jù)已有的數(shù)據(jù)數(shù)出來的。1.3
條件熵、信息增益及信息增益比1.信息、熵及信息增益的概念2.決策樹的構建2.1ID3算法ID3算法的核心是在決策樹各個結點上對應信息增益準則選擇特征,遞歸地構建決策樹。具體方法是:第一步。從根結點(rootnode)開始,對結點計算所有可能的特征的信息增益,選擇信息增益最大的特征作為結點的特征。第二步。由該特征的不同取值建立子節(jié)點,再對子結點遞歸地調用以上方法,構建決策樹;直到所有特征的信息增益均很小或沒有特征可以選擇為止;第三步。最后得到一個決策樹。2.決策樹的構建2.2C4.5算法與ID3算法相似,但是做了改進,將信息增益率作為選擇特征的標準。信息增益率=信息增益/屬性熵。用公式表示為:特征變量特征取值信息量條件信息熵信息增益屬性熵信息增益率outlooksunny0.9709510.6935360.246749821.57740.1564overcast0rainy0.970951temperaturehot10.9110630.0292225661.55670.0188mild0.918296cool0.811278humidityhigh0.9852280.7884501518normal0.591673windyFALSE0.8112780.8921590.048127030.98520.0489TRUE1節(jié)點特征取值特征特征取值信息量條件信息熵信息增益屬性熵信息增益率Rainytemperaturemild0.9182960.9509780.0199730.9709510.020571cool1humidityhigh10.9509780.0199730.9709510.020571normal0.918296windyFALSE000.9709510.9709511TRUE0Sunnytemperaturehot00.40.5709511.5219280.37515mild1cool0humidityhigh000.9709510.9709511normal0windyFALSE0.9182960.9509780.0199730.9709510.020571TRUE12.決策樹的構建2.3ID3、C4.5、CART的區(qū)別算法對于這三個非常著名的決策樹算法,簡單地區(qū)別是:ID3使用信息增益作為選擇特征的準則;C4.5使用信息增益率作為選擇特征的準則;CART使用基尼系數(shù)作為選擇特征的準則。ID3:熵表示的是數(shù)據(jù)中包含的信息量大小。熵越小,數(shù)據(jù)的純度越高,也就是說數(shù)據(jù)越趨于一致,這是我們希望的劃分之后每個子節(jié)點的樣子。C4.5:克服了ID3僅僅能夠處理離散屬性的問題,以及信息增益偏向選擇取值較多特征的問題,使用信息增益率來選擇特征。信息增益率=信息增益/屬性熵,選擇信息增益率最大的作為最優(yōu)特征。C4.5處理連續(xù)特征是先將特征取值排序,以連續(xù)兩個值中間值作為劃分標準。嘗試每一種劃分,并計算修正后的信息增益,選擇信息增益最大的分裂點作為該屬性的分裂點。CART:與ID3、C4.5不同之處在于CART生成的樹必須是二叉樹。也就是說,無論是回歸還是分類問題,無論特征是離散的還是連續(xù)的,無論屬性取值有多個還是兩個,內部節(jié)點只能根據(jù)屬性值進行二分。CART的全稱是分類與回歸樹。從這個名字中就應該知道,CART既可以用于分類問題,也可以用于回歸問題。2.決策樹的構建3.算法用例以天氣打球數(shù)據(jù)集D為例,在Orange中用決策樹算法構造的流程圖如下:2.決策樹的構建3.算法用例通過Tree模型插件后數(shù)據(jù)就分好類了,然后我們再使用Treeviewer可視化插件看下分類情況,如下圖??梢钥吹絋reeviewer很形象地展示了決策樹,與我們的手動計算結果一致,也表示出了每個特征分類值。項目二大數(shù)據(jù)分析算法任務二
聚類算法
1.K-means算法
1.1距離的計算
1.2算法流程
1.3幾個聚類算法中的數(shù)學公式
2.感受質心的遷移過程
3.K值的選擇
3.1快速判斷法
3.2肘部法則(ElbowMethod)
3.3輪廓系數(shù)法(SilhouetteCoefficient)4.從等高線認識正則項
4.1與正則化
4.2正則項與稀疏解
聚類算法所謂聚類算法是指將一堆沒有標簽的數(shù)據(jù)自動劃分成幾類的方法,因為事先并不知道如何劃分及樣本所屬的類別,屬于無監(jiān)督學習方法,但這個方法要保證同一類的數(shù)據(jù)有相似的特征,如下圖。其基本理論是,根據(jù)樣本之間的距離或者說是相似性(親疏性),把越相似、差異越小的樣本聚成一類(簇),最后形成多個簇,使同一個簇內部的樣本相似度高,不同簇之間差異性高。1.K-means算法K-means算法是最基礎和最常用聚類算法。其相關概念有:K值:希望得到的簇的個數(shù)。質心:即簇的中心值,是每個簇的均值向量,向量各維取平均即可。距離量度:常用歐幾里得距離和余弦相似度,但在計算之前,先要將各維數(shù)據(jù)標準化。1.K-means算法1.1距離的計算在聚類算法的距離計算中,不得不提到范數(shù)這一數(shù)學概念,在很多機器學習相關的著作和教材中,我們也經(jīng)??吹礁魇礁鳂拥木嚯x及范數(shù)。圖4-2曼哈頓距離歐式距離1.K-means算法1.2算法流程(1)首先確定一個k值,即我們希望將數(shù)據(jù)集經(jīng)過聚類得到k個集合。(2)從數(shù)據(jù)集中隨機選擇k個數(shù)據(jù)點作為質心。(3)對數(shù)據(jù)集中每一個點,計算其與每一個質心的距離(如歐式距離),離哪個質心近,就劃分到那個質心所屬的集合。(4)把所有數(shù)據(jù)歸好集合后,一共有k個集合。然后重新計算每個集合的質心,計算均值,即向量各維取平均。(5)如果新計算出來的質心和原來的質心之間的距離小于某一個設置的閾值(表示重新計算的質心的位置變化不大,趨于穩(wěn)定,或者說收斂),我們可以認為聚類已經(jīng)達到期望的結果,算法終止。
(6)如果新質心和原質心距離變化很大,需要迭代3~5步驟。1.K-means算法1.3幾個聚類算法中的數(shù)學公式在聚類算法的流程中,讀者可能會產生一種錯覺,認為其聚類原理容易理解,符合所有人的一般認知。不就是找到幾個相對中心,然后計算距離,以最小距離歸類嗎?況且計算過程也不復雜。這些錯覺很容易讓讀者對聚類不屑一顧,而不愿深入研究。事實上,聚類算法也有自己的深度內容,這些內容將在以下部分有限度地展開,但在此之前,讓我們先學習幾個聚類算法中無法繞開的概念及它們的數(shù)學公式。(1)質心的計算。(2)誤差平方和(SSE,TheSumofSquaresduetoError)。是指簇內每一個點與其質心的距離平方和,體現(xiàn)的是質心位置的合適程度。其表達式為:(3)輪廓系數(shù)(SilhouetteCoefficient)。是結合了聚類的凝聚度(Cohesion)和分離度(Separation)的一個參數(shù),用于評估聚類的效果。其表達式為:2.感受質心的遷移過程以上內容還是太抽象,但至少我們隱隱約約感受到,聚類算法最重要的三個要素是距離的計算方式、質心如何找到和k值的選擇問題。目前來看,距離計算方式的選擇問題不大,因為最常用的就是歐式距離和曼哈頓距離這兩種,只要根據(jù)樣本內容和研究目的進行適當選擇就可以了。
質心如何確定?它又是如何遷移的?用實際數(shù)據(jù)分步驟計算才能一睹真容。初始樣本2.感受質心的遷移過程質心集(A)8.716.895.6質心集(B)3.124.64-2.7質心集(C)2.09-1.788.42質心集(A)6.5588245.3311760.662941質心集(B)-0.800560.508916-4.59029質心集(C)-0.47549-3.984425.091429質心集(A)5.8893945.008182-1.05242質心集(B)-1.32384-0.82931-6.24457質心集(C)-1.81255-3.575674.919818質心集(A)5.9676194.661389-1.48361質心集(B)-1.59279-1.01492-6.25326質心集(C)-2.04694-3.530344.925636第一次迭代
第二次迭代
第三次迭代
第四次迭代3.K值的選擇K值的選擇在聚類算法中至關重要,因為其牽扯到算法模型的有效性。依然以上節(jié)中的數(shù)據(jù)為例,我們借助Orange分析軟件,對幾種主要的K值評判方法加以介紹。3.1快速判斷法3.2肘部法則(ElbowMethod)快速判斷法是一種經(jīng)驗判斷方法,那么有沒有一種可以選擇聚類數(shù)目的較為科學的方法呢?有一種方法叫做“肘部法則”,也就是說我們分別計算在各種K值中聚類算法最終的損失函數(shù),一般是指SSE,繪制出隨著K值變化損失函數(shù)變化的曲線,通過曲線的“拐點”來判斷最佳的K值。3.K值的選擇將Orange中k=2到k=7的聚類數(shù)據(jù)全部保存下來,并且對其SSE逐個進行計算,得到如下表k值1234567SSE145628451629052754400348930093.K值的選擇3.3輪廓系數(shù)法(SilhouetteCoefficient)k=2,SilhouetteScores=0.303.k=3,SilhouetteScores=0.310.3.K值的選擇3.3輪廓系數(shù)法(SilhouetteCoefficient)k=4,silhouettescores=0.307.k=5,SilhouetteScores=0.303.3.K值的選擇3.3輪廓系數(shù)法(SilhouetteCoefficient)k=6,silhouettescores=0.317.k=7,silhouettescores=0.315.4.從等高線認識正則項等高線和正則項原本是一對完全不搭嘎的兩個概念,之所以把它們放在一起,是因為正則項(RegularTerms)過于抽象,如果不學習大數(shù)據(jù)分析算法,我們也許一輩子都不會接觸這個詞匯,但在本書的登高之旅中,正則項又是一個繞不過去的山丘。4.1L1與L2正則化L1正則項與損失函數(shù)的關系示意圖
L2正則項與損失函數(shù)的關系示意圖4.從等高線認識正則項4.2正則項與稀疏解在機器學習的諸多方法中,如果我們得到的數(shù)據(jù)集較小,那在訓練過程中很可能遇到過擬合(over-fitting)問題,即訓練出來的模型可能將數(shù)據(jù)中隱含的噪聲和毫無關系的特征也表征出來。一次函數(shù)無數(shù)解示意圖
L1范數(shù)示意圖
稀疏解示意圖項目二大數(shù)據(jù)分析算法任務三
樸素貝葉斯
1.算法概要
2.貝葉斯公式
3.算法說明
4.案例推演
5.Orange用例
1.算法概要樸素貝葉斯算法主要應用于分類,二分類及多分類均可。因為其算法以貝葉斯定理為基礎展開,同時有很強的獨立性假設,使得計算簡單,應用廣泛,所以將這一類算法稱之為樸素貝葉斯算法。其算法的應用流程可圖示如下圖。2.貝葉斯公式首先引入經(jīng)典的貝葉斯公式:3.樸素貝葉樹分類的正式定義:4.案例推演在某學校,對學生是否吃牛肉面進行了統(tǒng)計,并對統(tǒng)計當天的平均溫差及天氣特征進行記錄,其目的是想了解學生的飲食偏好與溫差和氣象特征之間的關系。統(tǒng)計表如下表所示:性別平均溫差區(qū)間天氣特征是否吃牛肉面男中區(qū)晴不吃女低區(qū)多云吃男中區(qū)陰不吃男高區(qū)晴吃女低區(qū)小雪吃女低區(qū)小雪不吃男中區(qū)晴吃男高區(qū)陰不吃女中區(qū)小雪吃男低區(qū)陰吃性別身高(英尺)體重(磅)腳掌(英寸)男618012男5.9219011男5.5817012男5.9216510女51006女5.51508女5.421307女5.75150.995.
Orange用例本次Orange用例的目的是期望在溫度、氣象、價位、午餐/晚餐這四個特征變量的“加持”下,生成學生選擇葷/素或米/面的分類器。應用樸素貝葉斯算法是本用例的重點,但為了增強比較性,我們同時應用了隨機森林和邏輯回歸這兩個算法作為貝葉斯算法的背景。因其“樸素”,所以整個Orange算法流程圖也相當“簡約”,如圖。正確分類數(shù)據(jù)集錯誤分類數(shù)據(jù)集樸素貝葉斯算法的部分散點圖三種算法的評測指標樸素貝葉斯Orange流程圖項目二大數(shù)據(jù)分析算法任務四
K近鄰分類算法
1.算法概述
2.算法要點
1.1距離計算
1.2K值的選擇
1.3特征工程及One-hot編碼
1.4KNN算法的特點及優(yōu)缺點
3.KNN的交叉驗證
4.模型評估指標
4.1模塊
4.2指標
5.算法用例
1.算法概述k近鄰(Knearestneighbor)算法,也簡稱為KNN算法,是一種基本的分類算法。其原理是:對于一個待分類的數(shù)據(jù),將其和一組已經(jīng)分類標注好的樣本集合進行比較,得到距離最近的k個樣本,k個樣本最多歸屬的類別,就是待分類數(shù)據(jù)的類別。KNN算法可用于各種分類的場景,比如新聞分類、商品分類、模式識別、多分類領域等,甚至可用于簡單的文字識別。KNN算法原理圖示KNN算法流程2.算法要點2.1距離計算在KNN中,要度量空間中點距離的話,有好幾種度量方式,比如常見的曼哈頓距離計算,歐式距離計算等等。關于距離計算,我們在聚類算法中已有詳細介紹。不過通常KNN算法中使用的是歐式距離,即如下公式:2.2K值的選擇在KNN算法中,計算過程及原理解析都不復雜,但k值的選擇至關重要。那么,在實際場景應用中,如何選擇k值呢?一般來講,是利用算法工具,如Orange,進行不同k值的測算,通過錯誤率的對比,找到一個錯誤率最低的k值,k一般選取1~20。比如在后續(xù)小節(jié)中要講到的汽車分類案例中,其錯誤率的曲線圖(如圖6-3)為:汽車分類案例中的K值曲線2.算法要點2.3特征工程及One-hot編碼KNN的應用場景是分類,所以一般來講,應用于KNN的數(shù)據(jù)集大多數(shù)都是離散型、目錄型數(shù)據(jù)結構。特征工程及One-hot編碼都是將類別變量轉換為機器學習算法易于利用的一種形式的工具。尤其是One-hot編碼,對類別進行“二進制化”操作,然后將其作為模型訓練的特征,可以快速形成算法程序可識別運算的數(shù)據(jù)結構。在汽車分類用例中,其源數(shù)據(jù)與One-hot編碼轉換后的數(shù)據(jù)格式如下表:2.算法要點2.4KNN算法的特點及優(yōu)缺點標題中已說明,KNN是一種非參的,惰性的算法模型,解釋如下,同時也是對標題的注解。首先,非參的意思并不是說KNN算法不需要參數(shù),而是意味著這個模型不會對數(shù)據(jù)做出任何的假設,與之相對的是線性回歸(我們總會假設線性回歸是一條直線)。也就是說KNN建立的模型結構是根據(jù)數(shù)據(jù)來決定的,這也比較符合現(xiàn)實的情況,畢竟在現(xiàn)實中的情況往往與理論上的假設是不相符的。其次,惰性是指與其他分類算法相比,沒有的損失函數(shù)和訓練過程。比如,同樣是分類算法,邏輯回歸或人工神經(jīng)網(wǎng)絡等都需要先對數(shù)據(jù)進行大量訓練,最后才會得到一個算法模型。而KNN算法卻不需要,它沒有明確的訓練數(shù)據(jù)的過程,或者說這個過程很快。3.
KNN的交叉驗證一般來講,按比例的數(shù)據(jù)采樣或多折交叉驗證需要多次應用,相互印證。通常將數(shù)據(jù)集進行不同方法的分割,人為將整個數(shù)據(jù)集分為訓練集(trainingset)和測試集(testset)兩部分。我們將這種數(shù)據(jù)集分割組合進行算法模型評估的方法叫交叉驗證。在實際應用中,有如下幾種常用方法:3.1TheValidationSetApproach把整個數(shù)據(jù)集分成兩部分,一部分用于訓練,一部分用于驗證,分割時以比例進行調節(jié)。以汽車分類為例,以不同的比例分割數(shù)據(jù)集,其錯誤率是不同的,如下圖:汽車分類案例不同比例分割的錯誤率3.2Cross-Validation(1)LOOCV首先,我們先介紹LOOCV方法,即(Leave-one-outcross-validation),或稱為留一法。像Testsetapproach一樣,LOOCV方法也包含將數(shù)據(jù)集分為訓練集和測試集這一步驟。但是不同的是,我們現(xiàn)在只用一個數(shù)據(jù)作為測試集,其他的數(shù)據(jù)都作為訓練集,并將此步驟重復N次(N為數(shù)據(jù)集的數(shù)據(jù)數(shù)量)。(2)K-foldCrossValidation3.
KNN的交叉驗證1.數(shù)據(jù)采樣器模塊2.測試模塊數(shù)據(jù)采樣器模塊窗口測試模塊窗口4.模型評估指標大數(shù)據(jù)分析技術領域不僅包含數(shù)據(jù)和算法,還有一個重要的環(huán)節(jié),就是測試和驗證,其主要職能是對算法產生的模型,或稱為學習器,就其預測的準確性,使用數(shù)據(jù)的測試集進行驗證,用以評判學習器的性能。性能不好的學習器,要考慮調整參數(shù),或者更改算法;而性能良好的學習器,其良好程度如何?是否達到滿意程度等都需要相關指標的精確表達。以下就以KNN算法為例,就Orange平臺所采用的測試驗證模塊的主要使用方法及指標含義詳細說明。4.1模塊1.混淆矩陣模塊表6-1ConfusionMatrix矩陣表汽車數(shù)據(jù)案例的KNN混淆矩陣模塊汽車數(shù)據(jù)案例的KNN混淆矩陣(按樣本數(shù))4.模型評估指標4.1模塊2.測試模塊:汽車數(shù)據(jù)案例ROC曲線圖汽車數(shù)據(jù)案例測試模塊5.算法用例buying(購買價)v-highhighmedlowmaint(維保支出)v-highhighmedlowdoors(車門)2345-morepersons(載人)24morelug_boot(后備箱)smallmedbigsafety(安全性)lowmedhigh汽車數(shù)據(jù)的屬性表汽車數(shù)據(jù)的Orange流程圖項目二大數(shù)據(jù)分析算法任務五
關聯(lián)規(guī)則
1.算法概述
2.Apriori算法
1.1相關概念
1.2算原理
1.3算法流程
3.Orange與Apriori算例
1.算法概述關聯(lián)規(guī)則(AssociationRules)是反映一個事物與其他事物之間的相互依存性和關聯(lián)性,是數(shù)據(jù)挖掘的一個重要技術,用于從大量數(shù)據(jù)中挖掘出有價值的數(shù)據(jù)項之間的相關關系。關聯(lián)規(guī)則通過發(fā)現(xiàn)顧客放人其購物籃中的不同商品之間的聯(lián)系,分析顧客的購買習慣。通過了解哪些商品頻繁地被顧客同時購買,這種關聯(lián)的發(fā)現(xiàn)可以幫助零售商制定營銷策略。其他的應用還包括價目表設計、商品促銷、商品的排放和基于購買模式的顧客劃分。可從數(shù)據(jù)庫中關聯(lián)分析出形如“由于某些事件的發(fā)生而引起另外一些事件的發(fā)生”之類的規(guī)則。TransactionItems1{面包,牛奶}2{面包,尿布,啤酒,雞蛋}3{牛奶,尿布,啤酒,可樂}4{面包,牛奶,尿布,啤酒}5{面包,牛奶,尿布,可樂}項目:英文表示為Item(I),是指某個單個的事務,如上表中的商品,面包、牛奶、啤酒等。事項:英文表示為Transaction(T),是指某一條記錄,是所有項目的非空子集。如上表中每條記錄都是一次交易事項。項集:英文表示為Itemset,是指某幾個項目的集合,通常用{}進行標注,如{牛奶,尿布,啤酒}。關聯(lián)規(guī)則:英文表示為Associationrule,通常表示為{X}->{Y},{X}叫前件,{Y}叫后件。2.Apriori算法2.1相關概念關聯(lián)規(guī)則最常用的是Apriori算法,同時也是發(fā)現(xiàn)頻繁項集的一種方法。所謂頻繁項集是指由獨立事件組成的項目交集頻繁發(fā)生且達到預期值的集合,其嚴謹?shù)谋硎龇椒ㄟ€需要如下幾個概念的引入:支持度:幾個關聯(lián)的項目組成的項集在總事項中出現(xiàn)的次數(shù)占總事項數(shù)量的比重。置信度:一個項集出現(xiàn)后,另一個項集出現(xiàn)的概率,或者說前件與后件的條件概率。提升度:項集X的出現(xiàn)對項集Y的出現(xiàn)概率提升的程度。頻繁項集:支持度大于或等于某個閾值的項集就叫做頻繁項集。例如閾值設為50%時,因為{牛奶,尿布}的支持度是60%,所以它是頻繁項集。項集的超集:包含某個項集的元素且元素個數(shù)更多的項集。比如{牛奶,尿布}這個項集,它的超集可以是{牛奶,尿布,啤酒},也可以是{牛奶,尿布,啤酒,可樂}。項集的子集:與超集相反,子集是指包含某個項集的一部分,且元素個數(shù)更少的項集。比如{牛奶,尿布,啤酒,可樂}這個項集,它的子集可以是{牛奶,尿布,啤酒},也可以是{牛奶,尿布}或{牛奶}。2.Apriori算法2.2算法原理Apriori算法的核心思想:頻繁項的非空子集肯定頻繁。如果一個項不頻繁,那么他的超項肯定不頻繁。2.3算法流程輸入:數(shù)據(jù)集合D,支持度閾值a。輸出:最大的K頻繁3.Orange與Apriori算例單號點餐1麻辣豆腐,木耳粉條,蒜苗肉絲2宮爆雞丁,紅燒肉3紅燒雞塊,炒拉條4重慶辣子雞,青椒火腿5土豆絲,鹵肉,麻辣粉條6孜然土豆片,麻辣豆腐,青椒肉絲,雞丁炒米飯7孜然土豆片,酸菜粉條8回鍋肉炒飯,孜然肉炒飯9重慶辣子雞,紅燒肉,紅燒排骨10麻辣豆腐,酸菜粉條,辣子肉片11青椒火腿,西紅柿炒雞蛋12青椒肉絲,回鍋肉炒飯,酸菜鹵肉┇┇┇┇709紅燒肉,紅燒雞塊在Orange中針對關聯(lián)規(guī)則提供了兩個算法。因為關聯(lián)規(guī)則是一種無監(jiān)督學習算法,所以Orange在諸多無監(jiān)督學習模型后專門開列了關聯(lián)規(guī)則算法模型供應用。示例數(shù)據(jù)集收列了某學校食堂各灶學生點餐外賣的數(shù)據(jù),以一單為一個項集,共709條數(shù)據(jù),陳列在Excel中的形式如下表所示:表
學校食堂點餐外賣數(shù)據(jù)需要說明的是,Orange在進行關聯(lián)規(guī)則算法計算時,需要的是后綴名為.basket或.bsk文件格式,這兩個文件其實都是文本文件。首先需要做的就是數(shù)據(jù)清理,將不是菜名的數(shù)據(jù)清除,同時要注意在各個菜名之間加入小寫逗號(,)分隔,且每單的最后要保證是以回車符結束的。然后將所有項集復制,粘貼入一個文本文件,并且將文本文件改為英文名,同時將.txt后綴名改為.bsk。至此,所有的文件準備工作基本結束。打開Orange平臺,先將文件載入。如下圖:3.Orange與Apriori算例圖
學生點餐數(shù)據(jù)的載入窗口圖
學生點餐數(shù)據(jù)的工作流圖3.Orange與Apriori算例圖
支持度2.5%的頻繁項圖
支持度5%的頻繁項項目二大數(shù)據(jù)分析算法任務六
邏輯回歸
1.Logistic分布
1.1分布形態(tài)及相關概念
1.2應用場景及優(yōu)劣
2.求模型參數(shù)
2.1極大似然估計
2.2梯度下降
3.極大似然估計求解
4.邏輯回歸函數(shù)的正則化
5.Orange算例
1.
邏輯回歸也稱作logistic回歸分析,是一種廣義的線性回歸分析模型,屬于機器學習中的監(jiān)督學習。其推導過程與計算方式類似于回歸的過程,但實際上主要是用來解決二分類問題,當然也可以解決多分類問題。通過給定的n組數(shù)據(jù)(訓練集)來訓練模型,并在訓練結束后對給定的一組或多組數(shù)據(jù)(測試集)進行分類。在理解邏輯回歸算法過程中,需要引入相對大量的數(shù)學相關概念,如果全部展開講解,將是一個漫長的探索之旅。為突出重點,本章僅著重介紹了Logistic分布及邏輯回歸的求解模型,并在展開過程中,采取了邊講解邊舉例邊深入邊思考的方式,從體例上來講,可能缺乏連續(xù)性,但對于初學者來講,可能更易于理解和接受。下圖是本節(jié)內容的知識點導圖(如圖8-1),方便讀者在學習過程中梳理思路。圖8-1本章內容的知識點導圖1.
Logistic分布1.1分布形態(tài)及相關概念Logistic分布是一種連續(xù)型的概率分布,其分布函數(shù)(或質量函數(shù))和密度函數(shù)分別為:分布函數(shù):密度函數(shù):圖8-2Logistic分布函數(shù)及密度函數(shù)圖8-3二分類邏輯回歸示意圖設分界線方為:1.
Logistic分布【思考二】我們使用對數(shù)幾率的意義在哪?通過上述推導我們可以看到Logistic回歸實際上是使用線性回歸模型的預測值逼近分類任務真實標記的對數(shù)幾率,其優(yōu)點有:1.直接對分類的概率建模,無需實現(xiàn)假設數(shù)據(jù)分布,從而避免了假設分布不準確帶來的問題;2.不僅可預測出類別,還能得到該預測的概率,這對一些利用概率輔助決策的任務很有用;3.對數(shù)幾率函數(shù)是任意階可導的凸函數(shù),有許多數(shù)值優(yōu)化算法都可以求出最優(yōu)解?!舅伎家弧咳绾握业椒诸惛怕蔖(Y=1)與輸入變量x之間的函數(shù)關系,然后通過比較概率值來判定分類??紤]二分類問題,給定數(shù)據(jù)集:【延伸思考一】為什么要引入
函數(shù)?圖8-4以自然對數(shù)為底數(shù)的指數(shù)函數(shù)示意圖1.
Logistic分布圖8-5邏輯回歸函數(shù)的三維展現(xiàn)【延伸思考二】決策分界線與各數(shù)據(jù)點之間的距離關系。1.
Logistic分布【延伸思考三】特征向量的公式表達
圖思1-1二特征變量的坐標表達圖思1-2三特征變量的坐標表達字段名數(shù)據(jù)類型變量類型值門店CategoricalFeature4-4灶,4-5灶,5-6灶,5-7灶訂單號NumericSkip
樓號CategoricalSkip士官,松鳴,柏盛,榆繁,槐香房號NumericSkip
下單時間DatetimeSkip
午餐/晚餐CategoricalFeature午餐,晚餐溫差NumericFeature
均溫NumericFeature
氣象CategoricalFeature多云,小雪,晴,浮塵,陰,陣雪,雨夾雪價格NumericFeature
葷/素CategoricalTarget素,葷米/面CategoricalSkip米,面
1.
Logistic分布【延伸思考三】特征向量的公式表達
圖8-6兩特征向量的邏輯回歸性狀指標1.
Logistic分布【延伸思考三】特征向量的公式表達
圖8-6三特征向量的邏輯回歸性狀指標1.
Logistic分布
1.2應用場景及優(yōu)劣優(yōu)點:邏輯回歸訓練速度很快,可用于工業(yè)級別的數(shù)據(jù),也可以在使用其他準確率更高的算法之前先用邏輯回歸計算出baseline,查看下當前的數(shù)據(jù)在算法上的表現(xiàn),以判斷是否還要繼續(xù)進行數(shù)據(jù)清洗和特征工程??捎糜诟怕暑A測,也可用于分類;對于數(shù)據(jù)中小噪聲的魯棒性很好。缺點:對數(shù)據(jù)特征間的獨立性要求較高;不適用于features和label為非線性關系的數(shù)據(jù)中;當特征空間很大、特征有缺失時,邏輯回歸的性能不是很好?!局R點】什么是features和label。機器學習中有l(wèi)abel和feature概念,一般來講,label是分類,是你要預測的東西,而feature則是特征。如果你訓練出feature和label的關系,之后你可以通過feature得出label。2.求解模型參數(shù)
定義:對于事件E和事件F,如果滿足下面的公式,那么稱它們是獨立的。若兩個事件E和F不獨立,則稱它們是相依的,或者相互不獨立。進一步思考,觀察另一幅維恩圖。圖中E和F沒有相交,按照“同比例切割”的觀點,E事件和F事件是“不獨立”的。這個圖告訴我們,兩個不相交的事件,反而是“相互不獨立”的。除了一種情況,事件E不可能出現(xiàn)。2.求解模型參數(shù)
引例1.從一副洗好的52張撲克牌里隨機抽取一張牌,令E表示事件“抽取的牌為一張A”,令F表示事件“抽取的牌為一張黑桃”,那么E和F就是獨立的。引例2.擲兩枚均勻的骰子,令E1表示事件“骰子點數(shù)和為6”,令F表示事件“第一枚骰子點數(shù)為4”,那么2.求解模型參數(shù)
2.1極大似然估計首先引入經(jīng)典的貝葉斯公式:【知識點引入】全概率公式【知識點引入】IID即獨立同分布(IndependentandIdenticallyDistributed),極大似然估計原理:極大似然估計提供了一種給定觀察數(shù)據(jù)來評估模型參數(shù)的方法,即“模型已定,參數(shù)未知”。通過若干次試驗,觀察其結果,利用試驗結果得到某個參數(shù)值能夠使樣本出現(xiàn)的概率為最大,則稱為極大似然估計。似然函數(shù)(likelihoodfunction):2.求解模型參數(shù)
最大似然估計(MaxmiumLikelihoodEstimation,MLE)求解:【知識點引入】數(shù)學符號arg含義:全稱為argumentofthemaximum/minimum?!疽弧吭O樣本服從正態(tài)分布,則似然函數(shù)為:2.求解模型參數(shù)
圖8-7高斯分布極大似然估計對比圖2.求解模型參數(shù)
【引例二】設樣本服從均勻分布[a,b],則x的概率密度函數(shù)為:2.求解模型參數(shù)
【引例三】伯努利分布的極大似然函數(shù)公式推導。首先要說明的是,伯努利分布是一個離散型隨機變量分布。如將隨機變量X=1表示拋硬幣正面朝上,設正面朝上的概率為P,那么隨機變量X的概率密度函數(shù)(probabilitydensityfunction,PDF)是:這就是伯努利分布(Bernoullidistribution)概率密度函數(shù)的表達式了,需要說明的是,我們一般用大寫字母P或F來表示概率質量函數(shù),而用小寫字母p或者f來表示概率密度函數(shù)。如邏輯分布(連續(xù)型隨機變量分布):圖8-8伯努利分布極大似然估計對比圖2.求解模型參數(shù)2.2梯度下降一般來說,關于求解函數(shù)的最優(yōu)解(極大值和極小值),在數(shù)學中我們一般會對函數(shù)求導,然后讓導數(shù)等于0,獲得方程,然后通過解方程直接得到結果。但是在機器學習中,我們的函數(shù)常常是多維高階的,得到導數(shù)為0的方程后很難直接求解(有些時候甚至不能求解),邏輯回歸的最大似然估計函數(shù)就屬于無法求解的情況,所以就需要通過其他方法來獲得函數(shù)的極值,而梯度下降就是其中一種。函數(shù)
,初始值
,步長值
迭代次數(shù)k=1k=2k=3k=4k=5k=6k=7k=8-6.4-5.12-4.096-3.2768-2.62144-2.09715-1.67772-1.3421840.9626.214416.777210.73746.87194.3982.81471.8014梯度降幅23.0414.74569.43726.03983.86552.47391.58331.0133迭代次數(shù)k=9k=10k=11k=12k=13k=14k=15k=16-1.07374-0.85899-0.68719-0.54976-0.4398-0.35184-0.28147-0.225181.15290.73790.47220.30220.19340.12380.07920.0507梯度降幅0.64850.4150.26570.170.10880.06960.04460.0285表8-1二次函數(shù)梯度下降表圖8-9不同a值y的梯度降幅2.求解模型參數(shù)
圖8-10梯度下降學習率示意圖3.極大似然估計求解圖8-11梯度下降的樣式靜態(tài)圖3.極大似然估計求解【知識點引入】目標函數(shù)、損失函數(shù)、代價函數(shù)三種擬合示意圖如下圖8-12。4.邏輯回歸函數(shù)的正則化本節(jié)內容是在通用知識的基礎上專門針對邏輯回歸所開展的正則項說明,對進一步加深正則項理解有極大的幫助。正則化是一個通用的算法和思想,所有會產生過擬合現(xiàn)象的算法都可以使用正則化來避免過擬合。邏輯回歸函數(shù)也同樣存在這個問題,下面簡單介紹一下邏輯回歸函數(shù)的正則化方法。正則化一般會采用L1范式或者L2范式,其形式分別為以下2種4.1L1正則化通常稱之為LASSO回歸,相當于為模型添加了這樣一個先驗知識:w服從零均值拉普拉斯分布。而拉普拉斯分布的表達式為:4.2L2正則化通常稱之為Ridge回歸,或嶺回歸,相當于為模型添加了這樣一個先驗知識:w服從零均值正態(tài)分布。正態(tài)分布的表達式為:5.
Orange算例該數(shù)據(jù)集來自UCI機器學習庫,它與葡萄牙銀行機構的直接營銷活動(電話)有關。分類目標是預測客戶是否將購買定期存款。數(shù)據(jù)下載網(wǎng)址:/ml/index.php。屬于開源的機器學習數(shù)據(jù)庫網(wǎng)站。為便于比較,Orange中將數(shù)據(jù)集(共41188條記錄)拆分為兩個子集,一個為訓練集(39999條記錄),一個為測試集(1189條記錄),其在Orange中的流程圖如圖8-13:圖8-13銀行業(yè)務數(shù)據(jù)邏輯回歸Orange算法流程圖圖8-14銀行業(yè)務數(shù)據(jù)邏輯回歸Orange算法評測指標三種算法的評估參數(shù)如下圖8-14所示:項目二大數(shù)據(jù)分析算法任務七
人工神經(jīng)網(wǎng)絡
1.神經(jīng)網(wǎng)絡的正向及反向傳播過程
1.1前向傳播
1.2反向傳播
2.人工神經(jīng)網(wǎng)絡的模擬計算
3.激活函數(shù)
4.神經(jīng)網(wǎng)絡的應用
4.1分類
4.2回歸
人工神經(jīng)網(wǎng)絡(artificialneuralnetwork,ANN),簡稱神經(jīng)網(wǎng)絡(neuralnetwork,NN),是一種模仿生物神經(jīng)網(wǎng)絡的結構和功能的數(shù)學模型或計算模型。神經(jīng)網(wǎng)絡由大量的人工神經(jīng)元聯(lián)結進行計算。大多數(shù)情況下人工神經(jīng)網(wǎng)絡能在外界信息的基礎上改變內部結構,是一種自適應系統(tǒng)?,F(xiàn)代神經(jīng)網(wǎng)絡是一種非線性統(tǒng)計性數(shù)據(jù)建模工具,常用來對輸入和輸出間復雜的關系進行建模,或用來探索數(shù)據(jù)的模式。神經(jīng)網(wǎng)絡是一種運算模型,由大量的節(jié)點(或稱“神經(jīng)元”)和之間相互的聯(lián)接構成。每個節(jié)點代表一種特定的輸出函數(shù),稱為激勵函數(shù)、激活函數(shù)(activationfunction)。每兩個節(jié)點間的聯(lián)接都代表一個對于通過該連接信號的加權值,稱之為權重,這相當于人工神經(jīng)網(wǎng)絡的記憶。網(wǎng)絡的輸出則依網(wǎng)絡的連接方式,權重值和激勵函數(shù)的不同而不同。而網(wǎng)絡自身通常都是對自然界某種算法或者函數(shù)的逼近,也可能是對一種邏輯策略的表達。1.神經(jīng)網(wǎng)絡的正向及反向傳播過程以一個實例逐漸展開人工神經(jīng)網(wǎng)絡的計算過程,下圖(如圖9-1)是一個簡單的神經(jīng)網(wǎng)絡拓撲圖,第一層是輸入層,包含兩個神經(jīng)元i1和i2,截距項為b1;第二層為隱含層,包含兩個神經(jīng)元h1和h2,截距項為b2;第三層為輸出層,包含兩個輸出項o1和o2,每條線上的數(shù)字表示神經(jīng)元之間傳遞的權重值,記為w1;激活函數(shù)默認Sigmoid函數(shù)。圖9-1一個簡單的人工神經(jīng)網(wǎng)絡示意圖1.神經(jīng)網(wǎng)絡的正向及反向傳播過程1.1前向傳播(1)輸入層→隱含層隱含層的計算過程如圖(圖9-2)所示(以h1為例):(2)隱含層→輸出層輸出層的計算過程如圖(圖9-3)所示(以o1為例):1.神經(jīng)網(wǎng)絡的正向及反向傳播過程1.2反向傳播(1)計算總誤差(Squareerror):(2)隱含層→輸出層的權值更新以權重參數(shù)w5為例,如果我們想知道w5對整體誤差產生了多少影響,可以用整體誤差對w5求偏導。圖9-6人工神經(jīng)網(wǎng)絡的回歸分析需要說明的是:第一,此例是只有一個隱含層的神經(jīng)網(wǎng)絡,并且各層的神經(jīng)元數(shù)量都為2,在實際應用中,特征層的提取有時是相當復雜的,比如對圖像的識別,對音頻或視頻的識別等,需要不只一個隱含層才有可能獲得滿意的模型,其正向傳播或反向傳播的計算量相當大,對計算機的算力要求也是相當高,采用的激活函數(shù)及目標函數(shù)也不盡相同,但基本模式及核心原理是一致的。第二,此例所呈現(xiàn)的輸入層神經(jīng)元i1和i2,映射到大數(shù)據(jù)集,即表示訓練數(shù)據(jù)的特征變量,樣本數(shù)據(jù)有幾個特征變量,就有幾個輸入層的神經(jīng)元。第三,在正向傳播計算中,對于多個樣本值,不用每輸入一個樣本就去變換參數(shù),而是輸入一批樣本(叫做一個Batch或Mini-Batch),需要求得這些樣本的梯度平均值后,根據(jù)這個平均值改變參數(shù),也就是說,每個樣本只進行前向傳播和反向傳播一次,然后計算梯度平均值,再進行下一輪計算。第四,神經(jīng)網(wǎng)絡既可以用于回歸分析,也可以作為分類工具加以使用。一般來講,如果做回歸分析,其輸出層以一個神經(jīng)元為主,即只需要輸出我們所關心的相關值即可。如果做分類分析(是人工神經(jīng)網(wǎng)絡的骨干應用層面),以二分類為例,分類如下圖2.人工神經(jīng)網(wǎng)絡的模擬計算為便于理解人工神經(jīng)網(wǎng)絡的訓練過程,作者使用VBA編程在Excel中進行了人工神經(jīng)網(wǎng)絡的模擬計算。目前該程序僅包含一個隱藏層,但各層的神經(jīng)元個數(shù)及訓練樣本數(shù)量可以按實際場景無限制設定,各層參數(shù)及迭代數(shù)量亦可自行設定。計算過程中,不僅可以實時顯現(xiàn)迭代的中間數(shù)據(jù),也可借助Excel的強大制圖功能動態(tài)展示數(shù)據(jù)的迭代趨勢,適合入門級學生的學習。下載該程序可掃描右邊二維碼。用該程序模擬訓練數(shù)據(jù)過程如下:x1x2x1x2x1x2x1x20.5143950.7490220.2500190.8483620.7759230.7744680.534230.5398730.6779740.0794360.6647780.2030070.1177920.8159920.8335170.0161460.4525470.1441180.5326570.471841
表9-1隨機10組數(shù)據(jù)表2.人工神經(jīng)網(wǎng)絡的模擬計算圖9-10單純兩類分類圖示3.激活函數(shù)激活函數(shù)的存在與人工神經(jīng)網(wǎng)絡的模擬態(tài)是相關的。在人工神經(jīng)網(wǎng)絡中,一個神經(jīng)元的運算過程我們稱之為感知器。感知器是模仿生物神經(jīng)元而設計的一種簡單數(shù)學模型,它主要有兩部分組成,前半部分是一個線性模型,而后半部分是一個激活函數(shù)。在感知器中,設計激活函數(shù)的初衷應該是為了模仿生物神經(jīng)元(生物神經(jīng)元存在激活和非激活這兩種狀態(tài),當神經(jīng)元處于激活狀態(tài)時會發(fā)出電脈沖)。從數(shù)學角度去考慮的話,在感知器的后半部分加上一個激活函數(shù),可以增加感知器模型的“擬合能力”,使得模型有更強的表達作用。在基本的感知器模型中,激活函數(shù)是一個階躍函數(shù),這個函數(shù)的特性是,在輸入為零的時候會發(fā)生跳轉,形狀像一個臺階。在下圖的感知器模型中,當階躍函數(shù)的輸入小于等于零時候,輸出為零,而在其它情況輸出為1。其數(shù)學模型如下圖9-11。3.1Sigmoid函數(shù)
雖然在基的感知器模型中選擇階躍函數(shù)作為激活函數(shù),但是在實際中卻很少采用階躍函數(shù),這是因為階躍函數(shù)有點太極端了,要么輸出為0要么輸出為1。人們最初的考慮是能不能讓激活函數(shù)的輸出別這么極端,讓它平滑一些,因此有了Sigmoid函數(shù)。3.激活函數(shù)3.2.ReLU函數(shù)ReLU是目前最常用的激活函數(shù)。3.激活函數(shù)3.激活函數(shù)3.3Tanh函數(shù)Tanh為雙切正切曲線,相比Sigmoid函數(shù),實際應用中一般更傾向于用Tanh函數(shù)。其優(yōu)點為函數(shù)的輸出以(0,0)為中點,雙邊對稱。同時,收斂速度相對于Sigmoid更快。其函數(shù)形式為:4.神經(jīng)網(wǎng)絡的應用4.1分類神經(jīng)網(wǎng)絡最重要的用途是分類,比如如下的應用場景:垃圾郵件識別:有一封電子郵件,把出現(xiàn)在里面的所有詞匯提取出來,通過神經(jīng)網(wǎng)絡識別是否是垃圾郵件。疾病判斷:病人首先進行多種醫(yī)學檢測,并將檢測結果送入神經(jīng)網(wǎng)絡,從輸入結果來判斷病人是否得病,得的什么病。圖像分類:比如有一批街景的圖片,通過神經(jīng)網(wǎng)絡模型,計算機可以分辨出哪些是樹,哪些是人,哪些是交通燈。這種能將事物的特征向量作為輸入端,并自動判別事物類別的機器,我們稱之為分類器。神經(jīng)網(wǎng)絡對事物的分類,主要是通過神經(jīng)元和多層神經(jīng)網(wǎng)絡來完成的。單個神經(jīng)元我們也稱之為感知器,即通過接收信息(輸入數(shù)據(jù))→處理信息(激活函數(shù))→發(fā)出信息(輸出數(shù)據(jù))進行信息轉換。對簡單數(shù)據(jù)集的分類,比如在上節(jié)提到的平面上下(或左右)兩類數(shù)據(jù),用一條直線就可以進行分類,用二個神經(jīng)元和一層神經(jīng)網(wǎng)絡就可以進行輕松解決問題。但在現(xiàn)實場景中,要解決的問題遠比平面兩類數(shù)據(jù)復雜地多,比如下面三圖(圖9-15)所表示的A、B兩類,就無法用一根直線將兩個類別區(qū)分開來。3.激活函數(shù)通過掃描右圖二維碼可以查看螺旋線的空間變形,亦可從下圖紅藍兩線在不同空間的分割對比體會神經(jīng)元的作用。左圖紅藍兩條線在二維空間無法找到一個超平面去分割,經(jīng)過放大、平移、旋轉、扭曲原二維空間后,在三維空間下就可以成功找到一個超平面分割紅藍兩線(右圖)。3.激活函數(shù)(1)ConvnetJsdemo:二分類神經(jīng)網(wǎng)絡訓練模型,可以增刪隱藏層及神經(jīng)元個數(shù),對各神經(jīng)元的空間扭曲及變形狀態(tài)呈現(xiàn)地非常細致(如圖9-16)??赏ㄟ^掃描下方二維碼進行手機端操作。圖9-16ConvnetJsdemo3.激活函數(shù)(2)GoogleTensorflow–Playground:二分類神經(jīng)網(wǎng)絡訓練模型,可以簡單并直觀地增刪隱藏層及神經(jīng)元個數(shù),并且可選擇激活函數(shù)及正則化類型(如圖9-17)??赏ㄟ^掃描下方二維碼進行手機端操作。圖9-17GoogleTensorflow-Playgroud3.激活函數(shù)4.2回歸我們知道,回歸分析是確定兩種或兩種以上變量間相互依賴的定量關系的一種統(tǒng)計分析方法。人工神經(jīng)網(wǎng)絡模型算法也可以進行回歸分析,其分析原理及計算過程與分類分析大體相同,區(qū)別是需要對損失函數(shù)和神經(jīng)網(wǎng)絡最后一層輸出激活函數(shù)修改,主要注意以下兩點:損失函數(shù)最常用均方誤差:最后一層往往不采用激活函數(shù),直接用得到最后結果,因為激活函數(shù)會將線性加權的結果映射到固定range。項目二大數(shù)據(jù)分析算法任務八
支持向量機
1.硬間隔支持向量機
2.非線性支持向量機
3.SVM中的核函數(shù)
4.Orange中的SVM應用
支持向量機(SupportVectorMachine,簡稱SVM)是一種用來解決二分類問題的機器學習算法,它通過在樣本空間中找到一個劃分超平面,將不同類別的樣本分開,同時使得兩個點集到此平面的最小距離最大,兩個點集中的邊緣點到此平面的距離最大。如下圖10-1所示,圖中有方形和圓形兩類樣本,支持向量機的目標就是找到一條直線,將圓形和方形分開,同時所有圓形和方形到這條直線的距離加起來的值最大。支持向量機支持向量機上面討論的情況是一種理想中的狀況,兩個類別的樣本之間存在著清晰的劃分超平面,但我們在實際工作中處理的任務上并不一定都是這種清晰線性可分的,對于這種清晰線性可分的任務,我們構造一個線性分類器,也稱為硬間隔支持向量機(如圖10-2-1);當訓練數(shù)據(jù)近似線性可分時,也可以構造一個線性的分類器,即軟間隔支持向量機(如圖10-2-2);當訓練數(shù)據(jù)線性不可分時,我們可以通過使用核函數(shù)及軟間隔最大化構造分類器,稱為非線性支持向量機(如圖10-2-3)。圖10-2-1硬間隔SVM圖10-2-2軟間隔SVM圖10-2-3非線性SVM1.硬間隔支持向量機數(shù)學表達:目標函數(shù):
2.非線性支持向量機在以上二維點的實例講解中,我們假設訓練樣本是線性可分的,即存在一個劃分超平面能將訓練樣本正確分類。然而在現(xiàn)實任務中,原始樣本空間內,也許并不存在一個能正確劃分兩類樣本的超平面。如下圖所示,橢圓內的點代表“+”數(shù)據(jù),橢圓外的點代表“-”數(shù)據(jù),而這兩類數(shù)據(jù)都無法用一條直線進行分割,如圖10-5所示的兩條直線都是失敗的劃分。對于原空間中的非線性可分問題,可將樣本從原始空間映射到一個更高維的特征空間,使得樣本在這個特征空間內線性可分。例如在以下圖中,可以將以上數(shù)據(jù)集的二維數(shù)據(jù)映射到一個合適的三維空間,就能找到一個合適的劃分超平面。幸運的是,如果原始空間是有限維,即屬性數(shù)有限,那么一定存在一個高維特征空間使樣本可分。掃描二維碼,即可觀看映射到三維空間后的各點分布。圖10-6橢圓數(shù)據(jù)二維遷三維示意圖在此圖中,二維平面中的所有數(shù)據(jù)點被經(jīng)過函數(shù)變換后映射到三維空間??梢灾庇^地看到,映射后的數(shù)據(jù)在三維空間形成了一個明顯的分隔帶。掃描二維碼,即可觀看到二維數(shù)據(jù)經(jīng)過核函數(shù)轉換后遷移到三維空間的過程。2.非線性支持向量機那么如何將低維空間數(shù)據(jù)映射到高維空間,這里我們要用到核函數(shù)(KernelFunction)。核函數(shù)是對低維的屬性值進行某種計算,實現(xiàn)在低維下計算出高維映射后的內積結果的一種函數(shù)。簡單來講,核函數(shù)就是關于低維特征值與高維特征值之間的內積函數(shù)。2.非線性支持向量機樣本點X點Y點類別升維X點升維Y點升維Z點類別a-1.110.5901.23-0.930.350b-0.391.2800.15-0.711.640c0.311.2400.10.541.540d0.90.3300.810.420.110e0.480.9900.230.670.980f-0.43-1.2200.180.741.490g-1.15-0.7101.321.150.50k-1.88-1.5713.534.172.461l-1.37-2.3611.884.575.571m0.38-2.8810.14-1.558.291n1.61-1.9612.59-4.463.841o2.22-1.0714.93-3.361.141p2.180.4614.751.420.211q1.71.5912.893.822.531r-1.082.2611.17-3.455.111s-1.851.613.42-4.192.561t-2.16114.67-3.0511u-2.570.6716.6-2.440.451v-2.27-0.2215.150.710.051數(shù)據(jù)升維之后,由上圖可以清晰看出,兩類數(shù)據(jù)在三維空間中形成明顯分隔帶?,F(xiàn)在的任務是找出支持向量,借助Orange工具,如下圖10-7所示。圖10-7SVM在Orange中的流程圖2.非線性支持向量機2.非線性支持向量機通過可視化工具,可以看出,該數(shù)據(jù)集的支持向量有5個數(shù)據(jù)點,如下圖10-8所示,列表10-2如下:表10-2橢圓數(shù)據(jù)的支持向量點坐標值樣本點X點Y點升維X點升維Y點升維Z點類別a值序號Y值及序號q1.71.592.893.822.531
r-1.082.261.17-3.455.111
p2.180.464.751.420.211
g-1.15-0.711.321.150.500
a-1.110.591.23-0.930.350
2.非線性支持向量機軟件求解的結果報告如下圖10-9所示:3.SVM中的核函數(shù)在用SVM處理問題時,如果數(shù)據(jù)線性不可分,希望通過將輸入空間內線性不可分的數(shù)據(jù)映射到一個高維的特征空間內,使數(shù)據(jù)在特征空間內是線性可分的,這個映射記作ф(x),之后優(yōu)化問題中就會有內積фiфj,這個內積的計算維度會非常大,因此引入了核函數(shù),kernel可以幫我們很快地做一些計算,否則將需要在高維空間中進行計算。下表10-2列出了SVM中常用的4種核函數(shù)以及它們的應用場景,它們是:linear(線性),Polynomial(多項式),RBF(高斯核函數(shù),也叫徑向基核函數(shù))和Sigmoid。
核函數(shù)應用場景應用圖例linearkernel線性可分時,特征數(shù)量多時,樣本數(shù)量多再補充一些特征時,linearkernel可以是RBFkernel的特殊情況。Polynomialkernel一般用于圖像處理,參數(shù)比RBF多,取值范圍是(0,inf)。Gaussianradialbasisfunction(RBF)通用,線性不可分時,特征維數(shù)少樣本數(shù)量正常時,在沒有先驗知識時用,取值在[0,1]Sigmoidkernel生成神經(jīng)網(wǎng)絡,在某些參數(shù)下和RBF很像,可能在某些參數(shù)下是無效的。4.Orange中的SVM應用Orange主要從LIBSVM包中嵌入了SVM的流行實現(xiàn)。對于回歸任務,SVM使用ε這一不敏感損失在高維特征空間中執(zhí)行線性回歸。其估計精度取決于c,ε和核參數(shù)的良好設置。Orange的主要參數(shù)調節(jié)界面如下圖10-11所示:4.1SVM類型SVM和V-SVM都是基于誤差函數(shù)的不同最小化。SVM:-c——即懲罰系數(shù),適用于分類和回歸任務。c越高,容易過擬合;c越小,容易欠擬合。-ε——ε-SVR模型的參數(shù),適用于回歸任務。定義與真實值的距離,在該距離內沒有懲罰與預測值相關聯(lián)。V-SVM:-c——即回歸懲罰系數(shù),僅適用于回歸任務-V:V-SVR模型的參數(shù),適用于分類和回歸任務。訓練誤差分數(shù)的上限,支持向量分數(shù)的下限。SVM回歸算法稱為支持向量回歸或SVR。支持向量回歸是一種監(jiān)督學習算法,用于預測離散值。支持向量回歸使用與SVM相同的原理。SVR背后的基本思想是找到最佳擬合線。在SVR中,最佳擬合線是點數(shù)最多的超平面。4.Orange中的SVM應用4.Orange中的SVM應用4.2核函數(shù)的調參核函數(shù)調參linearkernelPolynomialkernel-d:多項式核函數(shù)的最高次項次數(shù),-g:gamma參數(shù),-r:核函數(shù)中的coef0Gaussianradialbasisfunction(RBF)-g:gamma參數(shù),默認值是1/kSigmoidkernel-g:gamma參數(shù),-r:核函數(shù)中的coef0gamma越大,支持向量越少,gamma越小,支持向量越多。在“數(shù)值公差(Numericaltolerance)”中設置與期望值的允許偏差。在“迭代極限(Iterationlimit)”中設置允許的最大迭代次數(shù)?!緦嵗馕觥吭磾?shù)據(jù)下載:下載地址:/disk/main#/index?category=all&path=%2FSVM%2FSVM%E6%93%8D%E4%BD%9C%E5%AE%9E%E8%B7%B5源數(shù)據(jù)包含三個文件,adult-data.txt(訓練集),adult-test.txt(測試集),adult-attribute.txt(數(shù)據(jù)來源及屬性說明)。Orange平臺上機操作關鍵步驟設置了四個核函數(shù)學習器,如圖10-12,步驟如下:四個核函數(shù)的學習器;訓練集及測試集部署合理;調整懲罰項及參數(shù)設置,調優(yōu)學習器;數(shù)據(jù)集在線端配屬正確,無報錯;調用可視化模塊,對支持向量進行展示。項目二大數(shù)據(jù)分析算法任務九馬爾科夫鏈及自然語言處理
1.馬爾科夫鏈
2.馬爾科夫鏈的應用
2.1隨機漫步
2.2病情預測
2.3語音識別及自然語言處理
3.N-Gram算法
3.1Bi-Gram詞串生成過程
3.2Bi-Gram評判語句合理性
4.Orange中的自然語言處理
4.1Orange預處理窗口
4.2中對文本分類的計算
馬爾科夫鏈及自然語言處理1856年出生的馬爾可夫是俄國著名數(shù)學家,他研究并提出一個用數(shù)學方法就能解釋自然變化的一般規(guī)律模型,后人將其命名為馬爾可夫鏈(MarkovChain)。講馬爾可夫鏈不得不提到隨機過程,它本身就是隨機過程課本中的重要內容,猶如牛頓定律在力學中的地位。作為概率論的一個重要分支,隨機過程撐起了概率論的半壁江山,如今,它廣泛使用在諸如天氣預報、統(tǒng)計物理、天體物理、運籌決策、經(jīng)濟數(shù)學、安全科學、人口理論、可靠性及計算機科學等領域。自然中存在的隨機過程非常廣泛,利用隨機過程的理論建模,就總也逃不開馬爾可夫鏈,比如我們熟知的液體中顆粒所做的布朗運動、商業(yè)活動中索要研究的每天銷售情況、在數(shù)字通信中的語音信號、視頻信號,包括自然語言處理等等。它可以將無規(guī)則的運動用數(shù)學描述出來,對現(xiàn)實生產生活有著巨大的指導意義!【知識準備】讓我們再次簡要重溫一下聯(lián)合概率及全概率公式,同時對條件概率從另一個角度再次做一個解釋。概率的乘法公式:其實,條件概率可以用另一種方式表達:馬爾科夫鏈及自然語言處理1856年出生的馬爾可夫是俄國著名數(shù)學家,他研究并提出一個用數(shù)學方法就能解釋自然變化的一般規(guī)律模型,后人將其命名為馬爾可夫鏈(MarkovChain)。講馬爾可夫鏈不得不提到隨機過程,它本身就是隨機過程課本中的重要內容,猶如牛頓定律在力學中的地位。作為概率論的一個重要分支,隨機過程撐起了概率論的半壁江山,如今,它廣泛使用在諸如天氣預報、統(tǒng)計物理、天體物理、運籌決策、經(jīng)濟數(shù)學、安全科學、人口理論、可靠性及計算機科學等領域。自然中存在的隨機過程非常廣泛,利用隨機過程的理論建模,就總也逃不開馬爾可夫鏈,比如我們熟知的液體中顆粒所做的布朗運動、商業(yè)活動中索要研究的每天銷售情況、在數(shù)字通信中的語音信號、視頻信號,包括自然語言處理等等。它可以將無規(guī)則的運動用數(shù)學描述出來,對現(xiàn)實生產生活有著巨大的指導意義!【知識準備】讓我們再次簡要重溫一下聯(lián)合概率及全概率公式,同時對條件概率從另一個角度再次做一個解釋。概率的乘法公式:其實,條件概率可以用另一種方式表達:全概率公式:1.馬爾科夫鏈隨機過程描述的是一個量隨時間可能的變化。在這個過程里,每一個時刻變化的方向都是不確定的,隨機過程就是由這一系列不確定的隨機變量組成的。每一個時刻系統(tǒng)的狀態(tài)都由一個隨機變量表述,整個過程則構成一個隨機過程的實現(xiàn)。馬爾可夫性:過程或(系統(tǒng))在時刻T0所處的狀態(tài)為已知的條件下,過程在時刻T>T0所處狀態(tài)的條件分布過程在時刻T0之前所處的狀態(tài)無關的特性成為馬爾科夫性或無后效性。具有馬爾可夫性的隨機過程成為馬爾可夫過程。馬爾可夫鏈:時間和狀態(tài)都是離散的馬爾科夫過程。一句話描述,狀態(tài)空間中經(jīng)過從一個狀態(tài)到另一個狀態(tài)的轉換的隨機過程。該過程要求具備無記憶的性質:下一狀態(tài)的概率分布只能由當前狀態(tài)決定,在時間序列中它前面的事件均與之無關,如圖。2.馬爾科夫鏈的應用2.1隨機漫步馬爾可夫鏈的一個典型例子是隨機漫步,其每一步的狀態(tài)是在圖形中的點,每一步可以移動到任何一個相鄰的點,在這里移動到每一個點的概率都是相同的(無論之前漫步路徑是如何的),如圖11-2。以下是隨機漫步程序的VBA語言實現(xiàn)。其程序及動態(tài)演示可下載右邊的二維碼,可在手機端查看。2.馬爾科夫鏈的應用2.2病情預測艾滋病毒感染者病情發(fā)展有這樣幾個階段(狀態(tài)):無臨床癥狀(HIVasymptomatic)有臨床病狀(HIVsymptomatic)獲得性免疫缺陷綜合征(AIDS)死亡(death)其轉移矩陣為:asymptomaticsymptomaticAIDSdeathasymptomatic0.90.070.020.01symptomatic00.930.050.02AIDS000.850.15death0001某地區(qū)艾滋病感染者一年后由一個狀態(tài)轉移到另一個狀態(tài)的概率如上圖所示。如果目前該地區(qū)感染者處于各狀態(tài)的比例如下:asymptomaticsymptomaticAIDSdeath0.850.10.050那么三年后,該地區(qū)感染者處于各狀態(tài)的比例如何?第一年asymptomaticsymptomaticAIDSdeath0.770.150.060.02第二年asymptomaticsymptomaticAIDSdeath0.690.200.080.04第三年asymptomaticsymptomaticAIDSdeath0.620.230.090.062.馬爾科夫鏈的應用2.3語音識別及自然語言處理讓機器“聽懂”人類的語言,需要用到兩個馬爾科夫模型:1.聲學模型:利用HMM建模(隱馬爾可夫模型),HMM是指這一馬爾可夫模型的內部狀態(tài)外界不可見,外界只能看到各個時刻的輸出值。對語音識別系統(tǒng),輸出值通常就是從各個幀計算而得的聲學特征。關于這部分內容,不是本章討論的重點,在此不再贅述。2.語言模型:N-Gram最簡單有效,所以應用的也最廣泛。它基于獨立輸入假設:第n個詞的出現(xiàn)只與前面n-1個詞相關,而與其它任何詞都不相關。整句的概率就是各個詞出現(xiàn)概率的乘積。這些概率可以通過直接從語料中統(tǒng)計n個詞同時出現(xiàn)的次數(shù)得到。簡單來說,人們利用馬爾科夫模型,來計算事件的狀態(tài)轉移概率矩陣,除了語音識別,只要隨機過程具有馬爾科夫性,都少不了應用馬爾科夫鏈。3.N-Gram算法N-Gram是一種基于統(tǒng)計語言模型的算法。它的基本思想是將文本里面的內容按照字節(jié)進行大小為N的滑動窗口操作,形成了長度是N的字節(jié)片段序列。每一個字節(jié)片段稱為gram,對所有gram的出現(xiàn)頻度進行統(tǒng)計,并且按照事先設定好的閾值進行過濾,形成關鍵gram列表,也就是這個文本的向量特征空間,列表中的每一種gram就是一個特征向量維度。該模型基于這樣一種假設,第N個詞的出現(xiàn)只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現(xiàn)概率的乘積。這些概率可以通過直接從語料中統(tǒng)計N個詞同時出現(xiàn)的次數(shù)得到。常用的是二元的Bi-Gram和三元的Tri-Gram。3.1Bi-Gram詞串生成過程這個概率顯然并不好算,不妨利用馬爾科夫鏈的假設,即當前這個詞僅僅跟前面幾個有限的詞相關,因此也就不必追溯到最開始的那個詞,這樣便可以大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書法器材銷售合同
- 2025年城市排水系統(tǒng)清淤合同協(xié)議
- 2025年融資租賃合同詳述
- 2025年個人借款合同標準樣本
- 2025年餐廳家具選購合同樣本
- 2025年全年合同聯(lián)名擔保宣言
- 2025年儲能電站項目施工與運營管理合同示例
- 2025年企業(yè)勞動合同管理策略與實踐指導
- 2025年城市更新項目居間合同協(xié)議書樣本
- 2025年人事代理合同協(xié)議范本參考
- 領導干部離任交接表
- 儲運安全檢查分析(SCL)評價記錄
- 人教版六年級上冊道德與法治教案(5篇)
- 2024年無人駕駛環(huán)衛(wèi)行業(yè)研究報告-通渠有道
- (中職)中職生創(chuàng)新創(chuàng)業(yè)能力提升教課件完整版
- 中班健康課件《我不挑食》
- 人教版(2024新版)七年級上冊英語各單元重點語法知識點講義
- 生豬屠宰獸醫(yī)衛(wèi)生人員考試題庫答案(414道)
- 《完善中國特色社會主義法治體系》課件
- 2025版 高考試題分析-數(shù)學-部分4
- 湘教版三年級美術下冊教案全冊
評論
0/150
提交評論