svm 問題
原理: svm是一種二分類模型,基本模型是在特徵空間中尋找==間隔最大化==的分離超平面的線性分類器
- [x] 線性可分時
- [x] 近似線性可分時
- [x] 線性不可分時
利用間隔最大化求得最優分離超平面,解是唯一的,此時分隔超平面所產生的分類結果也是魯棒性最好的,對未知實例的泛化能力也是最強的
爲什麼要將求解SVM 的原始問題轉換爲對偶問題了?
- [x] 對偶問題更容易求解,引進了kkt約束條件,減小了搜尋的範圍,但是確使原始的優化問題變得複雜,爲了使問題變得易於處理,我們把目標函數和約束全部融入 拉格蘭日函數中進行求解
- [x] 很自然的引入核函數 ,推廣到非線性分類中
爲什麼svm要引入核函數 ?
當樣本在原始空間線性不可分時,可將樣本從原始空間映射到一個更高維的特徵上,使得樣本在這個特徵空間內是線性可分的
svm 對缺失值比較敏感
沒有處理缺失值的能力 ,svm希望樣本在特徵空間上線性可分,所以特徵空間的好壞對svm很重要
邏輯迴歸
邏輯迴歸假設數據服從伯努利分佈,通過極大化似然函數,運用梯度下降來求解參數,來達到二分類的目的
邏輯迴歸的損失函數爲什麼要使用極大似然函數,不選平方損失函數了?
因爲如果使用平方損失函數,你會發現梯度更新的速度和sigmod函數本身的梯度是相關的,然而sigmod函數梯度在定義域內的梯度都不大於0.25
gbdt 和 xgboost
介紹
gbdt 通過採用加法模型(基函數的線性組合),不斷減小訓練過程的殘差來達到將數據分類或者回歸的算法
訓練過程 : 通過多輪迭代,每輪迭代產生一個弱分類器,每個分類器在上一輪分類器的殘差基礎上進行訓練,弱分類器一般選擇 cart 樹
gbdt 怎樣生成特徵
邏輯迴歸本身適合處理線性可分的數據,如果我們想讓邏輯迴歸處理非線性的數據,其中一種方式便是組合不同特徵,增強邏輯迴歸對非線性分佈的擬合能力
- 1、顯示的把數模型複雜度作爲正則項加到優化目標中
- 2、公式的推導中用到了二階導數,用了二階泰勒展開
- 3、實現了分裂點尋找近似算法
- 4、利用的特徵的稀疏性
- 5、數據事先排序並且以block形式存儲,有利於並行計算
需要調節的參數:
通用參數;
- booster[默認gbtree]:選擇每次迭代的模型,有兩種選擇,基於線性的模型&基於樹的模型
- nthread 多線程控制
booster參數:
- max_depth[默認6]
- max_leaf_nodes 最大的節點或葉子的數量
- lambda 權重的L2正則化項
- alpha 權重的L1正則化項
介紹一下卷積神經網絡
一般的全連接網絡,考慮的是輸入全局的信息而非局部,在卷積網絡中,以圖片輸入爲例,我們不在是一次性全部輸入,而是通過局部卷積的方式,其中卷積網絡中主要包含三個重要的概念:
- 感受野
- 共享權重
- 池化
參考 https://www.nowcoder.com/discuss/15168?type=2&order=3&pos=117&page=3&from=mnks201