gbdt原理及**
終於有人說清楚了–xgboost演算法
svm初級
通俗易懂–svm演算法講解(演算法+案例)
svm深入(直接看這個吧。。)
支援向量機通俗導論(理解svm的三層境界)
如何判斷使用lr和svm哪個效果好?
sift特徵演算法是如何保證平移、旋轉不變的?
focal loss
直方圖均衡化、直方圖匹配
牛客面試寶典-第3章 第1節 處理分類問題常用演算法(一)
分類問題
svm的作用:尋找乙個最優分割超平面,解決二分類或多分類問題,從而分割資料(svm的物理意義);該超平面要滿足:離其最近的點(支援向量,即svm函式的變數)到其的距離最大化。
svm對偶計算(將原問題轉成對偶問題)的目的:總的來說是讓求解計算過程更簡便。1、對偶將原始問題中的約束轉換為對偶問題中的等式約束;2、方便引入核函式,從而可以將svm方法推廣到線性不可分的分類問題上;3、對偶問題更容易求解,因為不用求w了;4、轉成對偶問題後,原問題的求解複雜度只與svm函式變數個數有關(即支援向量個數),相當於特徵維度數更少,因而可以降低演算法複雜度**換之前,求解複雜度只與特徵的維度數量有關)。
svm的求解與全部資料有關還是區域性資料有關?
區域性資料。因為svm的求解只與支援向量有關,也就是區域性資料。
svm如何將原問題轉換成對偶問題?推導——通過拉格朗日對偶性,將帶約束的優化目標函式轉換成不帶約束的優化目標函式,使得w, b的偏導數等於0,再代入原式,再通過(?)轉成對偶問題。
svm核函式,什麼時候使用線性核,什麼時候使用非線性核(多項式核、高斯核、sigmoid核)——當資料的特徵提取得較好,資料量足夠大,特徵維數高,問題是線性可分時,用線性核;當問題是線性不可分時,特徵數較少,樣本數適中,對時間不敏感時,用非線性核如高斯核將資料對映到乙個高維的特徵空間,再對資料進行分割(高斯核雖然將特徵從低維空間對映到高維空間,但是沒有在高維空間進行直接計算,而是在低維進行計算,卻能在實質上將分類效果表現在高維上);當不知道用什麼核函式時,一般優先使用高斯核函式,因為高斯核函式是一種區域性性較強的核函式,無論對大樣本還是小樣本都能有較好的效能,且相對多項式核函式有更少的引數。
分類時訓練集中類別不均衡,哪個結果/引數最不準確?
準確度accuracy。因為模型更容易**佔比比較大的類別,比如二分類問題,如果正負樣本比例為99:1,則模型會學習到,只需要對每個樣例按照0.99的概率**正例,損失就會最小。
資料預處理:
如果資料有問題會怎麼處理——1、上下取樣/過取樣和欠取樣來平衡正負樣本比例,2、考慮缺失值,可以使用平均數或眾數填充,3、資料歸一化、規範化
拿到資料集後,如何選擇分類演算法?
1、需要了解多種分類模型的優缺點,以及它們的構建步驟。
2、單一的分類方法主要包括:lr邏輯回歸,svm支援向量機,dt決策樹、nb樸素貝葉斯、nn人工神經網路、k-近鄰;整合學習演算法:基於bagging和boosting演算法思想,rf隨機森林,gbdt,adaboost,xgboost。
3、如果特徵維數較多,選擇svm, 如果樣本量較大,可以選擇lr模型(需要進行資料預處理);如果缺失值較多,可選決策樹。
4、(注意,線性回歸是**演算法,lr才是分類演算法;線性回歸更容易受到異常值的影響)
收藏的好文章
二叉樹遍歷之非遞迴演算法 石鍋拌飯的部落格 二叉樹遍歷的遞迴演算法 石鍋拌飯的部落格 二叉樹的遞迴建立 binary trees stanford cs education library binary trees pdf stanford cs education library 為什麼gets ...
收藏的好文章
二叉樹遍歷之非遞迴演算法 石鍋拌飯的部落格 二叉樹遍歷的遞迴演算法 石鍋拌飯的部落格 二叉樹的遞迴建立 binary trees stanford cs education library binary trees pdf stanford cs education library 為什麼gets ...
收藏 介紹RCU的好文章
rcu原理 rcu read copy update 顧名思義就是讀 拷貝修改,它是基於其原理命名的。對於被rcu保護的共享資料結構,讀者不需要獲得任何鎖就可以訪問它,但寫者在訪問它時首先拷貝乙個副本,然後對副本進行修改,最後使用乙個 callback 機制在適當的時機把指向原來資料的指標重新指向新...