原创 數據結構之集合與映射(一)

本篇主要內容:集合及其應用 集合Set 數學上定義集合有最基本的三個性質:確定性、互異性和無序性。所謂確定性就是一個元素是否在這個集合中是確定的,互異性是一個集合中不能有相同的元素,無序性是打亂集合中元素的順序集合還是這個集合。 在一般

原创 機器學習系列(三十四)——支撐向量迴歸(SVR)

本篇主要內容:SVR SVM解決迴歸問題 前面我們說過SVM不只可以解決分類問題,也可以解決迴歸問題,現在就簡要敘述下SVM如何解決迴歸問題。 所謂迴歸問題其實就是找到一條擬合曲線,使得預測輸出能與真值儘可能地接近,同時面對未知數據又要

原创 機器學習系列(三十五)——決策樹Decision Tree

本篇主要內容:決策樹,信息熵,Gini係數 什麼是決策樹 決策樹(Decision Tree)是knn之後又一種非參數的有監督學習方法,它能夠從一系列有特徵和標籤的數據中總結出決策規則,並用樹狀圖的結構來呈現這些規則,以解決分類和迴歸問

原创 遞歸的妙用

遞歸算法是在函數或子過程的內部,直接或者間接地調用自己的算法。學過算法與數據結構的都知道,通過遞歸可以將一個複雜的問題化解爲一個子問題和一個基本問題,從而達到簡化問題邏輯的效果。本篇將通過幾個例子來講解一下遞歸的妙用。 鏈表中的遞歸 鏈表是

原创 機器學習系列(二十九)——精準率precision和召回率recall

本篇主要內容:混淆矩陣(Confusion Matrix) 、精準率(Precision)、召回率(Recall ) 準確率的陷阱 在之前我們都是用分類準確度來評價分類算法的好壞,但其實用準確率來評價分類算法的好壞是存在很大問題的。 準

原创 機器學習系列(三十二)——Support Vector Machine

本篇主要內容:SVM,Hard Margin SVM,Soft Margin SVM 什麼是支撐向量機 支撐向量機(Support Vector Machine)作爲非常經典的機器學習算法,即可以解決分類問題,也可以解決迴歸問題。這裏首

原创 機器學習系列(三十一)——ROC曲線、多分類問題的混淆矩陣

本篇主要內容:ROC曲線、多分類混淆矩陣 ROC曲線 ROC全稱是Receiver Operation Characteristic Curve,它描述的是TPR和FPR之間的關係。 TPR(True Positive Rate)的

原创 機器學習系列(三十三)——非線性可分問題與SVM核函數

本篇主要內容:SVM解決非線性可分,Kernel Function 添加多項式特徵解決非線性可分問題 上篇我們介紹了SVM是如何生成線性決策邊界解決線性可分或近似線性可分問題的,本篇將介紹SVM如何解決線性不可分問題。來看這樣的一個數據

原创 機器學習系列(二十七)——決策邊界與Logistic迴歸使用多項式特徵

決策邊界 由邏輯迴歸的原理知,對於我們求得的概率: 當時,,此時,即樣本被分類爲類別1,否則樣本將被分類爲類別0。而邏輯迴歸是基於線性迴歸的,這個影響分類結果的超平面就被稱之爲決策邊界。如果僅有兩個特徵,則這個決策邊界就是一條直線。以上篇

原创 機器學習系列(二十八)——sklearn中的Logistic迴歸與Logistic迴歸解決多分類

Logistic迴歸正則化 sklearn中的Logistic迴歸是加入了正則化的,在sklearn中,加入了正則項的損失函數表達式爲: 其中L是超參數,可以指定使用L1正則還是L2正則。與我們在多項式迴歸中的正則項不同的是這裏的係數C是

原创 刺蝟的優雅

這部電影是根據同名小說改編的,裏頭有兩個女主角,一個是 12 歲的帕洛瑪,一個是 54 歲的米謝太太。帕洛瑪的爸爸是國會議員,所以他們一家人住在一幢非常高級的公寓裏面,而米謝太太就是這幢公寓的門房夫人,她平時在住客心目中的形象是一個肥胖、

原创 機器學習系列(三十)——F1 Score與Precision-Recall的平衡

本篇主要內容:F1 Score,Precision-Recall的平衡,P-R曲線 F1 Score 上篇我們提到,精準率和召回率這兩個指標有時精準率低一些有時召回率低一些,有時可能都低。那麼實際中用哪個指標比較好呢?這一般和應用場景有

原创 機器學習系列(二十四)——交叉驗證與偏方差權衡

交叉驗證Cross Validation 前面我們學習了可以用測試數據集修正模型的過擬合現象,但是這樣做其實是有一點問題的。每次我們用測試數據集來看模型的好壞,如果發現模型表現不好則取調整模型參數優化模型,我們相當於在針對這組測試數據集進行

原创 機器學習系列(二十二)——多項式迴歸

多項式迴歸 前面我們學習過線性迴歸,線性迴歸模型需要假設數據背後存在線性關係。 而實際中,有線性關係的數據集比較少,更多的數據之間是非線性關係。進而——多項式迴歸產生。 其實多項式迴歸完全是線性迴歸的思路,只是相當於在原來的數據上增加了二

原创 機器學習系列(二十三)——過擬合overfitting和欠擬合underfitting

過擬合和欠擬合 有了多項式迴歸的方式,我們就可以對非線性的數據做擬合了,不過,複雜度不夠的多項式迴歸會導致欠擬合問題,而過度地使用多項式迴歸又會導致過擬合問題。 接下來直觀地看一下什麼是過擬合和欠擬合,生成模擬數據集: import num