面試演算法基礎刷題 xgboost相關

2021-10-09 23:43:07 字數 484 閱讀 5541

xgboost 演算法的特點:

xgboost 將樹模型的複雜度加入到正則化項中,從而避免過擬合,泛華效能好

損失函式是用泰勒展開式展開的,用到了一階導和二階導,可以加快優化速度

在尋找最佳分隔點時,採用近似貪心演算法,用來加速計算

不僅支援cart作為基分類器,還支援線性分類器,在使用線性分類器的時候可以使用l1,l2正則化

支援平行計算,xgboost的並行是基於特徵計算的並行,將特徵列排序後 block 的形式儲存在記憶體中,在後面的迭代過程中反覆使用這個結構。在進行節點**時,計算每個特徵的增益,選擇增益最大的特徵最為分隔節點,各個特徵的增益計算可以使用多執行緒並行

優點:速度快、效果好、能處理大規模資料、支援自定義損失函式

缺點:演算法引數過多,調參複雜,不適合處理高維特徵資料

面試演算法題

前幾天,一好友去筆試,有一題 現在有1000個蘋果,和10個箱子,如何把這1000個蘋果裝在這10個箱子裡,才能使不管任何數量 1 1000 的蘋果,都能一次給出?當時,我們都想,出題這人。今天,在想移位的時候,突然想到了,這絕對是二進位制數的變種。分析 1000個蘋果,最接近1024,轉化為2進製...

面試演算法題

1 直方圖矩形最大值 class solution s.push i return res 2 第n個醜數 class solution return res.back 3 lru cache 最近最少使用頁面置換快取器 class lrucache int get int key void set...

某個面試演算法題

援引某人部落格 有乙個整數n,寫乙個函式f n 返回0到n之間出現的 1 的個數。比如f 13 6,現在f 1 1,問下乙個最大的f n n的n是什麼?writed by chszs public void fn int inputval 1000000 int cntforone 0 long c...