原创 k近鄰(k-NN)算法的python實現

k-NN算法是實現分類的一種簡單有效的算法,並且可以實現多類別分類。k-NN算法的三個要素爲:距離度量、k值的選擇以及分類決策規則。 本文采用歐式距離作爲距離度量,近鄰數量選取爲7,採用多數票方式決定樣本的類型。 from skl

原创 聚類方法的原理,層次聚類法、K均值聚類法以及python實現

相似度或距離 1、閔可夫斯基距離 dij=(∑k=1m∣xki−xkj∣p)1pd_{ij}=\Bigg(\sum_{k=1}^m|x_{ki}-x_{kj}|^p\Bigg)^{\frac{1}{p}}dij​=(k=1∑m​∣

原创 提升算法AdaBoost原理以及python實現

提升算法的主要思想就是從弱分類器出發,反覆學習,得到一系列弱分類器(也稱爲基本分類器),然後組合這些弱分類器,構成一個強分類器。大多數提升方法都是改變訓練數據的概率分佈(也就是訓練數據的權值分佈),之後針對不同的訓練數據分佈調用弱

原创 如何能讓matplotlib庫顯示中文而不是亂碼?兩行代碼搞定!很簡單!

在將matplotlib.pyplot庫導入後添加如下代碼: import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 顯示漢

原创 樸素貝葉斯(naive Bayes)的python實現——基於《統計學習方法》例題的編程求解

樸素貝葉斯方法是基於貝葉斯定理與特徵條件獨立假設的分類方法。認爲樣本的特徵X與標籤y服從聯合概率分佈P(X, y),所有的樣本都是基於這個概率分佈產生的。由於條件概率P(X=x|Y=y)的參數具有指數數量級,因此進行估算切實際。貝

原创 EM算法的原理以及推廣參考《統計學習方法》

EM算法是一種迭代算法,用於含有隱變量的概率模型參數的極大似然估計,或極大後驗概率估計 首先引入:三硬幣模型 假設有三枚硬幣,分別記作A,B,CA,B,CA,B,C。這些硬幣正面出現的概率分別爲π,p,q\pi,p,qπ,p,q。

原创 隱馬爾可夫模型(HMM)的原理以及三種主要問題的解決

隱馬爾可夫模型介紹 隱馬爾可夫模型是關於時序的概率模型,描述由一個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態隨機序列,再由各個狀態生成一個觀測從而形成觀測序列的過程。 設QQQ爲所有可能的狀態的集合,VVV是所有可能的觀測集合: Q=

原创 邏輯迴歸(logistic regression)的原理以及python實現

邏輯斯蒂分佈 設XXX是連續隨機變量,XXX擁有下列分佈函數和概率密度 F(X)=P(X⩽x)=11+e−(x−μ)/γF(X)=P(X\leqslant x)=\frac{1}{1+e^{-(x-μ)/γ}}F(X)=P(X⩽x

原创 馬爾可夫鏈蒙特卡洛法(MCMC)的原理講解以及Metropolis-Hasting與Jibbs算法python實現

馬爾可夫鏈 考慮一個隨機變量的序列X={X0,X1,⋯ ,Xt,⋯ }X=\{X_0, X_1,\cdots,X_t,\cdots\}X={X0​,X1​,⋯,Xt​,⋯},這裏XtX_tXt​表示時刻ttt的隨機變量,t=0,1

原创 重磅!最全最有效!SVM凸規劃求解採用序列最小最優化算法(SMO)的python實現

SMO是求解軟間隔線性SVM(帶核函數)的對偶問題的一種啓發式算法,運算效率很高,大大推動了SVM算法的實際應用。 SMO算法的原理在之前的文章:支持向量機(SVM)凸二次規劃的求解——序列最小最優化算法(SMO)原理及pytho

原创 感知機(perceptron)的python實現

感知機的python實現 感知機是對線性可分的數據進行分類的一種模型,屬於判別模型。通過所給出的數據集,求解出一個超平面,將兩種不同類別的數據分離開來。其損失函數是誤分點到超平面的距離,優化過程是將該距離變爲0,從而實現消滅誤分點

原创 支持向量機(SVM)的原理(線性可分硬間隔)

線性可分支持向量機 給定線性可分的數據集,通過間隔最大化或等價地求解相應的凸二次規劃問題學習到的分離超平面爲 w∗⋅x+b=0w^*\cdot x+b=0w∗⋅x+b=0 以及相應的分類決策函數 f(x)=sign(w∗⋅x+b)

原创 線性支持向量機(SVM)與軟間隔最大化

之前的文章:線性可分硬間隔支持向量機 鏈接: 線性可分硬間隔支持向量機中所介紹的方法對於線性不可分的數據集並不適用,因爲在求解凸二次規劃問題時不能保證所有的約束條件都得到滿足。 假設樣本數據集是線性不可分的,訓練數據中存在一些奇異

原创 蒙特卡洛法(Monte Carlo method)進行抽樣之接受拒絕抽樣法(accept-reject sampling method)

接受拒接抽樣法 假設有隨機變量xxx,其概率密度函數爲p(x)p(x)p(x),目標是得到該概率分佈的隨機樣本,以對這個概率分佈進行分析。 接受拒絕抽樣法的思想是,假設p(x)p(x)p(x)不能直接抽樣,我們需要找一個可以直接抽

原创 多維正態分佈的邊緣概率與條件概率的公式(只有結論,無推導)

設XXX爲服從多維正態分佈的隨機變量,即X∼N(μ,Σ)X\sim N(\mu,\Sigma)X∼N(μ,Σ) 將XXX分成兩個部分:Xa,XbX_a,X_bXa​,Xb​,μ\muμ分成兩個部分:μa,μb\mu_a, \mu_