機器學習筆記-模式識別

  1. 平均分佈(Uniform Distribution) 跟正態分佈(normaldistribution)

    分佈特性可以讓我們通過一部分的數了解整體的分佈

     正態分佈特性:

         平均值(mean) = 中位數(median) = 衆數(model)

       密度函數關於平均值對稱

                            函數曲線下68.268949%的面積在平均數左右的一個標準差範圍內

                          95.449974%的面積在平均數左右兩個標準差{\displaystyle 2\sigma }2 \sigma的範圍內。

                         99.730020%的面積在平均數左右三個標準差{\displaystyle 3\sigma }3 \sigma的範圍內

                            99.993666%的面積在平均數左右四個標準差{\displaystyle 4\sigma }4 \sigma的範圍內

                            函數曲線的反曲點(inflection point)爲離平均數一個標準差距離的位置

 2.方差(Variance

Var(X) = σ2 = 1/n∑(xi-u)2


模式識別

  1. 基本概念


分類(classification)

    識別出樣本所屬的類別。根據識別前是否需要進行訓練,可分爲有監督分類(supervised classification)何無監督分類(unsupervised classification)。

    有監督分類:根據已知訓練區提供的樣本,通過計算選擇特徵參數,建立判別函數以對樣本進行的分類。

    無監督分類:指人們事先對分類過程不施加任何的先驗知識,而僅憑數據,即自然聚類的特性,進行“盲目”的分類;其分類的結果只是對不同類別達到了區分,但不能確定類別的屬性。

迴歸(regression)

      統計學上分析數據的方法,目的在於瞭解連個或多個變數間是否相關、相關方向與強度,並建立數學模型以便觀察待定變數來預測研究者感興趣的變數。更具體的來說,迴歸分析可以幫助人們瞭解在只有一個自變量變化時因變量的變化量。

非參數統計(nonparametric statistics)

    統計學的分支,適用於母羣體分佈情況未明、小樣本、母羣體分佈不爲常態也不以轉換爲常態。

惰性學習(Lazing Leaning) 也即 基於實例的學習(Instance-based Learning),機械學習(Rote Learning)。

    概率分類(Probabilistic classification), 基於概率分類,分類器給出一個最優類別猜測結果,同時給出這個猜測的概率估計值。概率分類器\Pr(Y\vert X), 給定一個x\in X(X是樣本集),賦予概率值到所有的y\in Y(Y是分類標籤集),這些概率值的和使1。

    文氏圖(Venn diagram),不太嚴格意義下用一表示集合/類的一種草圖。尤其適合表示集合/類之間的“大致關係”。292px-Intersection_of_two_sets_A_and_B.s

    


    B.算法

  1. 最近鄰居法(KNN)

    一種用於分類和迴歸的非參數統計方法。在這兩種情況下,輸入包含特徵空間中的k個最接近的訓練樣本。是一種基於實例的學習,或者是局部近似和將所有計算推遲到分類之後的惰性學習。衡量鄰居的權重非常有用。

    在K-NN分類中,輸出是一個分類族羣。一個對象的分類是由其鄰居的“多數表決”確定的,k個最近鄰居中最常見的分類決定了賦予該對象的類別。若k=1,則該對象的類別直接由最近的一個節點賦予。

    在k-NN迴歸中,輸出是該對象的屬性值,該值是其k個最近鄰居的值的平均值。

    這個算法的計算量相當大,耗時。 Ko和Seo提出了TCFP(text categorization feature projection)。所需時間是這個算法的1/50。

    長處:

           簡單有效

           不對數據的分佈做假設

           訓練階段快

    短處:

           不生成model, 在洞見feature之間關係上能力有限

           分類階段慢

           內存需求大

           定類特徵(Nominal feature)和丟失數據(missing data)需要進行附加的處理


    距離計算,可以用歐幾里得距離(Euclidean distance)

    在選擇k值時,我們要注意方差平衡(Bias-Variance Tradeoff)。大的k值可以減少噪聲數據的影響,但是可能導致我們忽視掉小而重要的模式。通常地K值可以取訓練樣本數的平方根。最好是多嘗試幾個k值,找到相對合理的k值。如果訓練樣本所具的代表性高,數量大,k的取值會變得不那麼重要。

    我們要注意各個特徵的取值範圍。大取值範圍的特徵可以會主導距離值。

    特徵值重新調解的方法有:

    極值歸一化(min-max normalization)

                      Xnew = (X-min(X))/(max(X) - min(X))

    Z-分數標準化(Z-score standardization)

                      Xnew = (X-u)/σ = (X-Mean(X))/StdDev(X)     

    這個算法是lazy Learning 算法。 在整個過程中沒有抽象的過程。嚴格意義上lazing Learning沒有真   正的學習發生。


  2. 樸素貝葉斯(Naive Bayes)

    貝葉斯方法(Bayesian Method),基於已有的證據對事件的發生概率進行估計。

    獨立事件(Independent event)A,B同時發生的概率P(A∩B) = P(A)*P(B)。

    相依事件(Dependent event)時預測性建模(Predictive modeling)的基礎。我們可以用貝葉斯理論來描述相依事件的關係。

    P(A|B) = P(B|A)P(A)/P(B) = P(A∩B)/P(B)

    樸素貝葉斯算法是應用貝葉斯方法的一種機器學習方法之一。

    長處:

         簡單,快速,非常高效

         很好地處理噪聲跟缺失數據

         只需要相對少的樣本進行訓練,當然也很很好地工作在大量樣本數據的情況

         可以簡單地獲得估計概率

    短處:

         依賴於現實情況出錯率高的假設 - 所有特徵同等重要且獨立 

         對大量數值型特徵的數據集效果不理想

        預計分類比估計的概率更可靠

    樸素貝葉斯算法得名它對數據進行了一些"naive"的假設(見短處中的第一項)。例如,判斷垃圾郵件時,發件人信息比消息內容更重要。雖然很多情況都不違背了一些假設,但是這個算法還是表現不俗。

    在處理數值類的特徵是我們要對數值進行分類,其中一個簡單的方法就是離散化(Discretize)。


        實現:

            其中一種簡單實現就是採用詞集模型(set-of-words)。此模型只考慮此是否在文中出現,不關注詞出線的次數。實現方法就是先定義詞集。然後標示文檔,判斷某個詞在文檔中是否出現。在文檔樣本里如果某詞在n個文檔中出現,那該詞計爲n,然後進行概率計算。

            如果用Wi代表在文檔中出現的詞i。用Ck代表第k個分類。那麼我們分類的方法就是要判斷P(Ck)當k取哪個值時這個概率最大,取到的最大概率對應的分類就是此文檔的分類。 那麼P(Ck) = Σ P(Ck/Wi)。而P(Ck/Wi) = P(Wi/Ck) * P(Ck) / P(Wi) 。 我們來看 P(Ck/Wi) 通過計算特別是一些四捨五入後結果可能是0。這樣某些詞的的影響就被這樣計算掉了。 爲了更能放映每個詞的作用有兩點可以考慮。第一點我們在算整個樣本時可以給每個詞都加上一個初始量。第二點,我們可以用ln()計算的結構來進行概率比較, f(x) 跟 ln(f(x))在f(x) > 0 時有相同的斜率變化。另外,這連個函數的極值也是在相同的x點的位置。 這樣 ln(ΣP(Ck/Wi)*P(Ck)/P(Wi)) = ln(ΣP(Wi/Ck)) + ln(P(Ck)) - ln(P(Wi)) 。 如果算P(Ck)的話,不論計算那個類別 Σln(P(Wi)) 都是相同的值。所以可以省略掉ln(P(Wi))的計算。如是我們就剩下了  (lnΣP(Wi/Ck)) + ln(P(Ck))。在實際中可能每個類別所出現的概率更有影響力。所以最終我們只需計算 ΣP(Wi/Ck) + ln(P(Ck)) 來進行概率比較。

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章