⑴ XGBoost原理及常用參數(復習自用)
XGBoost全稱為eXtreme Gradient Boosting,是基於梯度提升樹實現的集成演算法。核心在於構建多個不同模型,匯總預測結果以提升整體性能,要求每個單獨模型預測准確率不低於50%。有兩種調用方式:一是使用xgboost庫,需先設定參數集,再進行訓練;二是通過sklearn API中的類XGBRegressor,二者效果相似,但xgboost庫在交叉驗證與調參上更為簡便,建議直接調用xgboost庫。
集成演算法通過構建多個模型匯總結果以提升效果,分為兩種:梯度提升樹(Gradient Boosting)是基礎,適合回歸與分類,且樹均為二叉結構。XGBoost在此基礎上拓展,允許選擇多種演算法與功能,通過調節參數實現。
### 參數概覽
**集成演算法板塊**:核心是決策樹,梯度提升回歸樹(GBDT)與極限梯度提升樹(XGBoost)的主要區別在於預測值的計算方法。
**迭代次數/樹的棵樹(n_estimators)**:增加此參數提升模型學習能力,但也易過擬合。通過繪制學習曲線,找到最佳的n_estimators值,平衡模型的學習與泛化能力。
**列印建樹過程(slient)**:在大規模數據集上運行時使用,監控模型訓練進度。
**有放回隨機抽樣(subsample)**:防止過擬合,確保每個弱分類器模型的差異性。
**迭代決策樹(eta)**:控制迭代速度與模型復雜度。大的η加速迭代,但可能無法收斂至最優解;小的η更可能找到精確解,但迭代速度慢。
### 弱評估器板塊
**弱評估器選擇(booster)**:XGBoost基礎為決策樹,也可選擇線性模型。
**目標函數(objective)**:允許自定義損失函數,結合傳統損失函數與模型復雜度,旨在平衡錯誤率與復雜度。
**正則項(alpha & lambda)**:通過懲罰項控制樹模型的復雜度,減少過擬合,參數調整有助於控制模型復雜度。
**復雜性控制(gamma)**:通過懲罰增加的葉子數,控制模型復雜度與過擬合。
### 其他參數
**剪枝參數**:如max_depth、gamma,減輕過擬合,控制樹結構。
**分類樣本不均衡問題**:通過scale_pos_weight調節樣本權重,平衡不同類別的影響。
**概率預測與參數調校**:scale_pos_weight影響模型預測概率,適用於關注預測准確率、AUC或召回率等場合,但需保持概率模型原始特性。
### 總結
XGBoost是集大成的模型,能夠通過參數調整與優化實現高效學習與泛化。選擇參數時,需考慮方差與偏差平衡、模型復雜度控制與過擬合風險,同時利用交叉驗證與網格搜索等技術輔助調參。在調參過程中,應關注模型在測試集上的表現,以確保模型泛化能力的提升。此外,XGBoost的調用方式與參數調整策略也體現了其在集成學習中的靈活性與高效性。
⑵ 查看圖片時圖像為什麼可以放大縮小,什麼原理,放大查看或縮小查看,圖像的像素有沒有變化
放大縮小隻是對圖片的一個副本進行操作的,原始圖片不會變