從計算機視覺轉行搜廣推的第9天
1.youtubednn
推薦系統經典模型YouTubeDNN_推薦系統架構圖-CSDN博客文章瀏覽閱讀2.1k次,點贊28次,收藏34次。本文詳細介紹了YouTubeDNN推薦系統,包括其召回階段的多模型篩選策略,排序階段的復雜模型以及關鍵的負采樣、特征構造和上下文選擇技巧。文章強調了YouTubeDNN如何解決大數據量下的推薦問題和模型效率優化。https://blog.csdn.net/sinat_31854967/article/details/136252252?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522f5de33b05f7634fdf9bc31fb85612067%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=f5de33b05f7634fdf9bc31fb85612067&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-136252252-null-null.142^v102^pc_search_result_base8&utm_term=youtubeDNN&spm=1018.2226.3001.41872.快速排序,我還是習慣用C++來寫
def quick_sort(arr):if len(arr) <= 1:return arr # 遞歸出口pivot = arr[0] # 選取基準值(可以隨機,也可以選中間值)left = [x for x in arr[1:] if x <= pivot] # 小于等于 pivot 的元素right = [x for x in arr[1:] if x > pivot] # 大于 pivot 的元素return quick_sort(left) + [pivot] + quick_sort(right)
3.拍賣機制需要滿足激勵兼容
激勵兼容是指:在一個機制中,每個參與者的最佳策略就是如實報告自己的真實信息(如物品的估值),即使他們知道其他人的策略或規則。
? 避免作弊行為,保證機制的可執行性
? 確保資源高效配置
4.解決蹺蹺板問題,下面的鏈接介紹了多個網絡,mmoe,cgc,pil,esmm
推薦系統中的多目標建模與優化-CSDN博客文章瀏覽閱讀3.1k次,點贊2次,收藏7次。多目標建模已經成為當前推薦系統中的標配,在多目標建模過程中,需要考慮多個目標之間的相互關系,以選擇合適的多目標建模方法,同時,在多目標的損失函數的設計上,也存在很多的優化方案,需要根據具體的應用場景選擇合適的損失函數,以達到對具體任務的優化。_多目標建模https://blog.csdn.net/google19890102/article/details/1286579425.除了 AUC,還有哪些常用的排序評估指標?
? ?Hit Rate / Recall@k,GAUC(Grouped AUC)
6.評估 CTR 校準模塊的效果?
??校準準確性
??業務指標的變化
7.決策樹【機器學習】決策樹(理論)-CSDN博客文章瀏覽閱讀5.1w次,點贊396次,收藏1.9k次。本文詳細介紹了決策樹的構建原理,包括熵的作用、信息增益、條件熵、信息增益率和基尼系數等關鍵概念,以及在實際應用中如何選擇最優特征。此外,還討論了決策樹的預剪枝處理,如限制樹的深度、葉子結點個數和信息增益,以防止過擬合。https://blog.csdn.net/the_ZED/article/details/129290733?ops_request_misc=%257B%2522request%255Fid%2522%253A%25227ba206c72379c8540cd4b4468b733f88%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=7ba206c72379c8540cd4b4468b733f88&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-129290733-null-null.142^v102^pc_search_result_base8&utm_term=%E5%86%B3%E7%AD%96%E6%A0%91&spm=1018.2226.3001.41878.
從 KL 散度角度:交叉熵可看作是 KL 散度的一部分,它衡量兩個分布之間的差異
最大似然估計角度:交叉熵也可以從最大似然的角度解釋,通過最小化交叉熵損失,模型可以最大化真實標簽的概率。
AUC(Area Under Curve):ROC 曲線下面積,衡量模型在不同閾值下的分類性能。AUC 越高,模型的區分能力越強。
解決的問題:在不平衡數據集上,AUC 提供了一個綜合指標來評估模型的性能,而不僅依賴于準確率。
優點:
對不平衡數據較為穩健。
衡量模型在不同閾值下的表現,不依賴單一閾值。
缺點:
不適合處理類別極其不平衡的數據。
有時難以解釋其實際意義,尤其是當 AUC 相似時
9.? Adam優化器的優勢
? ? ?自適應學習率:Adam通過計算每個參數的一階矩(均值)和二階矩(方差)來動態調整學習 ? ? ? ? 率,避免了手動調整學習率的復雜性
? ? ?SGD優化器的優勢
? ? ?SGD的超參數較少,調參相對簡單,計算量較小,內存占用少
? ? ?Adam在某些情況下更容易發散,而SGD的發散風險較低,但需要仔細調整學習率
10.attention機制的優勢和劣勢分別在哪里?
優點:Attention 機制能夠同時捕捉全局和局部信息,避免了 RNN 對長期依賴的捕捉受序列長度限制的問題,與 RNN 不同,Attention 的每一步計算不依賴于上一步的結果,因此可以并行處理
缺點:Attention 機制本身無法直接捕捉序列中的位置信息,需要通過額外的手段(如位置編碼)來補充,處理長序列時,Attention 的計算復雜度會顯著增加,Attention 機制的效果依賴于大量數據,如果數據量不足,可能無法充分發揮其優勢
11
Transformer為什么Q和K使用不同的權重矩陣生成,為何不能使用同一個值進行自身的點乘?
在Transformer中,Q(查詢)和K(鍵)使用不同的權重矩陣生成是為了打破對稱性,使得模型能夠學習到更復雜的關系。具體來說,Q和K的點積計算相似度時,使用不同的權重矩陣可以使得模型在計算注意力時考慮到不同的上下文信息。
為什么在進行多頭注意力的時候需要對每個head進行降維?
在多頭注意力機制中,對每個頭進行降維的主要原因是為了降低計算復雜度,同時保持模型的表達能力。通過將輸入特征分成多個低維子空間,模型能夠在每個子空間中獨立學習特征,從而提高學習效率。
為何在獲取輸入詞向量之后需要對矩陣乘以embedding size的開方?意義是什么?
在獲取輸入詞向量后乘以embedding size的開方,主要是為了確保詞向量的方差適中,從而提高模型的訓練穩定性。通過這種方式,可以避免在訓練過程中出現梯度消失或爆炸的問題。
簡單介紹一下Transformer的位置編碼?有什么意義和優缺點?
位置編碼是Transformer中用于引入序列位置信息的技術。由于Transformer模型并不具備處理序列順序的能力,因此需要通過位置編碼將位置信息嵌入到輸入的詞向量中。
位置編碼通常使用正弦和余弦函數生成,能夠有效地表示單詞在序列中的位置。其優點在于可以處理任意長度的序列,同時保持相對位置關系。
你還了解哪些關于位置編碼的技術,各自的優缺點是什么?
除了傳統的正弦余弦位置編碼,還有其他幾種位置編碼技術:
學習型位置編碼:通過訓練學習每個位置的編碼,優點是靈活性高,但缺點是需要額外的參數和訓練時間。
相對位置編碼:通過相對位置關系來編碼,能夠更好地捕捉上下文信息,缺點是實現復雜度較高。
Decoder階段的多頭自注意力和encoder的多頭自注意力有什么區別?
Decoder階段的多頭自注意力與Encoder的多頭自注意力的主要區別在于Decoder需要進行序列mask操作。這是因為在解碼時,模型只能看到之前的位置,而不能訪問未來的信息。
序列mask確保了Decoder在計算自注意力時不會考慮未來的信息,從而避免了信息泄露。
Transformer 中的 attention mask 是 結構性硬規則
用于:
-
防止信息“越界”,例如:
-
Decoder 的自回歸生成中,只允許看到前面的 token,不能看后面的。
-
Padding mask:避免把填充符號納入計算。
-
特點:
-
完全是手工指定的規則性屏蔽(hard masking);
-
是attention score 層的邏輯操作,不是訓練目標;
-
它不參與 loss 的反向傳播學習,而是直接控制 attention 能否發生。
? 2. BERT 的 MLM mask 是一種訓練目標上的隨機擾動
作用:
-
訓練時隨機選擇輸入中的 15% 位置做掩碼,然后讓模型預測這些被“挖空”的 token;
-
是一種 自監督目標(self-supervised objective),相當于人為制造“填空題”讓模型學會語言建模。
特點:
-
掩碼位置是 隨機選的(靜態的),不是從模型學習來的;
-
掩碼本身是損失函數的組成部分,是訓練目標;
-
它作用在輸入 embedding 層,而不是 attention score 層。
12.?貝葉斯估計:
將參數θ視為隨機變量,并假設其服從某個先驗分布P(θ)。通過貝葉斯定理計算后驗分布,輸出參數的后驗分布P(θ∣D),預測時對所有可能的θ加權平均
13.
經典機器學習模型(八)梯度提升樹GBDT詳解-CSDN博客文章瀏覽閱讀9.8k次,點贊31次,收藏63次。經典機器學習模型(八)梯度提升樹GBDT詳解_gbdthttps://blog.csdn.net/qq_44665283/article/details/137559749?ops_request_misc=%257B%2522request%255Fid%2522%253A%25220189776b0c7ea3c37de9bbd709e0b3f9%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=0189776b0c7ea3c37de9bbd709e0b3f9&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-137559749-null-null.142^v102^pc_search_result_base8&utm_term=GBDT&spm=1018.2226.3001.4187
詳解 CatBoost 原理-CSDN博客文章瀏覽閱讀1.7w次,點贊36次,收藏129次。詳解 CatBoost 原理集成學習的兩大準則:基學習器的準確性和多樣性。算法:串行的Boosting和并行的Bagging,前者通過錯判訓練樣本重新賦權來重復訓練,來提高基學習器的準確性,降低偏差!后者通過采樣方法,訓練出多樣性的基學習器,降低方差。1.catboost 的優缺點性能卓越:在性能方面可以匹敵任何先進的機器學習算法魯棒性/強健性:它減少了對很多超參數調優的需求,并降低了過度擬合的機會,這也使得模型變得更加具有通用性易于使用:提供與 scikit 集成的 Python 接口,以及_catboosthttps://blog.csdn.net/weixin_49708196/article/details/124018649機器學習—LightGBM的原理、優化以及優缺點_lightgbm優缺點-CSDN博客文章瀏覽閱讀2.4w次,點贊78次,收藏225次。LightGBM是為解決GBDT在海量數據中的效率問題而提出的,通過直方圖算法、單邊梯度采樣、互斥特征捆綁和帶深度限制的Leaf-wise算法實現速度和內存的優化。與XGBoost相比,LightGBM在內存占用和計算速度上具有顯著優勢,同時支持類別特征,并行計算和緩存優化。然而,Leaf-wise策略可能導致過擬合,需要設置最大深度限制。
https://blog.csdn.net/weixin_46649052/article/details/119604545【機器學習】XGBoost數學原理及詳細實現過程_xgboost的數學原理-CSDN博客文章瀏覽閱讀3.9k次,點贊6次,收藏42次。XGBoost(Extreme Gradient Boosting)是一種高效的梯度提升決策樹算法,與lightgbm是目前表格型數據競賽最主流的樹模型。它在原有的GBDT(Gradient Boosting Decision Tree)基礎上進行了改進,使得模型效果得到大大提升。XGBoost是由多棵CART(Classification And Regression Tree)組成,因此它不僅可以處理分類回歸等問題。_xgboost的數學原理
https://blog.csdn.net/qq_70699891/article/details/134257083
XGBoost 優缺點
3.1 優點
精度更高: GBDT 只用到一階泰勒展開,而 XGBoost 對損失函數進行了二階泰勒展開。XGBoost 引入二階導一方面是為了增加精度,另一方面也是為了能夠自定義損失函數,二階泰勒展開可以近似大量損失函數;
靈活性更強: GBDT 以 CART 作為基分類器,XGBoost 不僅支持 CART 還支持線性分類器,使用線性分類器的 XGBoost 相當于帶 L1和 L2正則化項的邏輯斯蒂回歸(分類問題)或者線性回歸(回歸問題)。此外,XGBoost 工具支持自定義損失函數,只需函數支持一階和二階求導;
正則化: XGBoost 在目標函數中加入了正則項,用于控制模型的復雜度。正則項里包含了樹的葉子節點個數、葉子節點權重的 ? 范式。正則項降低了模型的方差,使學習出來的模型更加簡單,有助于防止過擬合,這也是XGBoost優于傳統GBDT的一個特性。
Shrinkage(縮減): 相當于學習速率。XGBoost 在進行完一次迭代后,會將葉子節點的權重乘上該系數,主要是為了削弱每棵樹的影響,讓后面有更大的學習空間。傳統GBDT的實現也有學習速率;
列抽樣: XGBoost 借鑒了隨機森林的做法,支持列抽樣,不僅能降低過擬合,還能減少計算。這也是XGBoost異于傳統GBDT的一個特性;
缺失值處理: 對于特征的值有缺失的樣本,XGBoost 采用的稀疏感知算法可以自動學習出它的分裂方向;
XGBoost工具支持并行: boosting不是一種串行的結構嗎?怎么并行的?注意XGBoost的并行不是tree粒度的并行,XGBoost也是一次迭代完才能進行下一次迭代的(第 t 次迭代的代價函數里包含了前面 t-1 次迭代的預測值)。XGBoost的并行是在特征粒度上的。我們知道,決策樹的學習最耗時的一個步驟就是對特征的值進行排序(因為要確定最佳分割點),XGBoost在訓練之前,預先對數據進行了排序,然后保存為block結構,后面的迭代中重復地使用這個結構,大大減小計算量。這個block結構也使得并行成為了可能,在進行節點的分裂時,需要計算每個特征的增益,最終選增益最大的那個特征去做分裂,那么各個特征的增益計算就可以開多線程進行。
可并行的近似算法: 樹節點在進行分裂時,我們需要計算每個特征的每個分割點對應的增益,即用貪心法枚舉所有可能的分割點。當數據無法一次載入內存或者在分布式情況下,貪心算法效率就會變得很低,所以XGBoost還提出了一種可并行的近似算法,用于高效地生成候選的分割點。
3.1 缺點
雖然利用預排序和近似算法可以降低尋找最佳分裂點的計算量,但在節點分裂過程中仍需要遍歷數據集;
預排序過程的空間復雜度過高,不僅需要存儲特征值,還需要存儲特征對應樣本的梯度統計值的索引,相當于消耗了兩倍的內存。
XGBoost與GBDT的聯系和區別有哪些?
(1)GBDT是機器學習算法,XGBoost是該算法的工程實現。
(2)正則項: 在使用CART作為基分類器時,XGBoost顯式地加入了正則項來控制模型的復雜度,有利于防止過擬合,從而提高模型的泛化能力。
(3)導數信息: GBDT在模型訓練時只使用了代價函數的一階導數信息,XGBoost對代價函數進行二階泰勒展開,可以同時使用一階和二階導數。
(4)基分類器: 傳統的GBDT采用CART作為基分類器,XGBoost支持多種類型的基分類器,比如線性分類器。
(5)子采樣: 傳統的GBDT在每輪迭代時使用全部的數據,XGBoost則采用了與隨機森林相似的策略,支持對數據進行采樣。
(6)缺失值處理: 傳統GBDT沒有設計對缺失值進行處理,XGBoost能夠自動學習出缺失值的處理策略。
(7)并行化: 傳統GBDT沒有進行并行化設計,注意不是tree維度的并行,而是特征維度的并行。XGBoost預先將每個特征按特征值排好序,存儲為塊結構,分裂結點時可以采用多線程并行查找每個特征的最佳分割點,極大提升訓練速度。
6.2 為什么XGBoost泰勒二階展開后效果就比較好呢?
(1)從為什么會想到引入泰勒二階的角度來說(可擴展性): XGBoost官網上有說,當目標函數是MSE時,展開是一階項(殘差)+二階項的形式,而其它目標函數,如logistic loss的展開式就沒有這樣的形式。為了能有個統一的形式,所以采用泰勒展開來得到二階項,這樣就能把MSE推導的那套直接復用到其它自定義損失函數上。簡短來說,就是為了統一損失函數求導的形式以支持自定義損失函數。至于為什么要在形式上與MSE統一?是因為MSE是最普遍且常用的損失函數,而且求導最容易,求導后的形式也十分簡單。所以理論上只要損失函數形式與MSE統一了,那就只用推導MSE就好了。
(2)從二階導本身的性質,也就是從為什么要用泰勒二階展開的角度來說(精準性): 二階信息本身就能讓梯度收斂更快更準確。這一點在優化算法里的牛頓法中已經證實。可以簡單認為一階導指引梯度方向,二階導指引梯度方向如何變化。簡單來說,相對于GBDT的一階泰勒展開,XGBoost采用二階泰勒展開,可以更為精準的逼近真實的損失函數。
6.3 XGBoost對缺失值是怎么處理的?
在普通的GBDT策略中,對于缺失值的方法是先手動對缺失值進行填充,然后當做有值的特征進行處理,但是這樣人工填充不一定準確,而且沒有什么理論依據。而XGBoost采取的策略是先不處理那些值缺失的樣本,采用那些有值的樣本搞出分裂點,在遍歷每個有值特征的時候,嘗試將缺失樣本劃入左子樹和右子樹,選擇使損失最優的值作為分裂點。
6.4 XGBoost為什么可以并行訓練?
(1)XGBoost的并行,并不是說每棵樹可以并行訓練,XGBoost本質上仍然采用boosting思想,每棵樹訓練前需要等前面的樹訓練完成才能開始訓練。
(2)XGBoost的并行,指的是特征維度的并行:在訓練之前,每個特征按特征值對樣本進行預排序,并存儲為Block結構,在后面查找特征分割點時可以重復使用,而且特征已經被存儲為一個個block結構,那么在尋找每個特征的最佳分割點時,可以利用多線程對每個block并行計算。
LightGBM的優缺點
??這部分主要總結下 LightGBM 相對于 XGBoost 的優點,從內存和速度兩方面進行介紹。
(1)速度更快
-
LightGBM 采用了直方圖算法將遍歷樣本轉變為遍歷直方圖,極大的降低了時間復雜度;
-
LightGBM 在訓練過程中采用單邊梯度算法過濾掉梯度小的樣本,減少了大量的計算;
-
LightGBM 采用了基于 Leaf-wise 算法的增長策略構建樹,減少了很多不必要的計算量;
-
LightGBM 采用優化后的特征并行、數據并行方法加速計算,當數據量非常大的時候還可以采用投票并行的策略;
-
LightGBM 對緩存也進行了優化,增加了緩存命中率;
(2)內存更小
-
XGBoost使用預排序后需要記錄特征值及其對應樣本的統計值的索引,而 LightGBM 使用了直方圖算法將特征值轉變為 bin
值,且不需要記錄特征到樣本的索引,將空間復雜度從?O ( 2 ? # d a t a ) O(2*\#data)O(2?#data)
降低為O ( # b i n ) O(\#bin)O(#bin),極大的減少了內存消耗; -
LightGBM 采用了直方圖算法將存儲特征值轉變為存儲 bin 值,降低了內存消耗;
-
LightGBM 在訓練過程中采用互斥特征捆綁算法減少了特征數量,降低了內存消耗。
-
可能會長出比較深的決策樹,產生過擬合。因此LightGBM在Leaf-wise之上增加了一個最大深度限制,在保證高效率的同時防止過擬合;
-
Boosting族是迭代算法,每一次迭代都根據上一次迭代的預測結果對樣本進行權重調整,所以隨著迭代不斷進行,誤差會越來越小,模型的偏差(bias)會不斷降低。由于LightGBM是基于偏差的算法,所以會對噪點較為敏感;
-
在尋找最優解時,依據的是最優切分變量,沒有將最優解是全部特征的綜合這一理念考慮進去;
catboost 的優缺點
性能卓越:在性能方面可以匹敵任何先進的機器學習算法
魯棒性/強健性:它減少了對很多超參數調優的需求,并降低了過度擬合的機會,這也使得模型變得更加具有通用性
易于使用:提供與 scikit 集成的 Python 接口,以及 R 和命令行界面
實用:可以處理類別型、數值型特征
可擴展:支持自定義損失函數
支持類別型變量,無需對非數值型特征進行預處理
快速、可擴展的GPU版本,可以用基于GPU的梯度提升算法實現來訓練你的模型,支持多卡并行
快速預測,即便應對延時非常苛刻的任務也能夠快速高效部署模型
catboost 缺點
- 對于類別型特征的處理需要大量的內存和時間;
- 不同隨機數的設定對于模型預測結果有一定的影響;
14.
15推薦系統中的偏置問題-bias和debias-CSDN博客文章瀏覽閱讀1.5k次,點贊25次,收藏20次。推薦系統中存在很多偏差,如選擇偏差、位置偏差、曝光偏差和流行度偏差等https://blog.csdn.net/jzwei023/article/details/135219069關聯規則(Apriori、FP-grpwth)-CSDN博客文章瀏覽閱讀1.1w次,點贊11次,收藏100次。什么是關聯規則 關聯規則(AssociationRules)是反映一個事物與其他事物之間的相互依存性和關聯性,是數據挖掘的一個重要技術,用于從大量數據中挖掘出有價值的數據項之間的相關關系。 所謂數據挖掘就是以某種方式分析源數據,從中發現一些潛在的有用的信息 。即數據挖掘又可以稱作知識發現,而機器學習算法則是這種“某種方式”。 舉..._關聯規則
https://blog.csdn.net/one_super_dreamer/article/details/102803355?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-102803355.142^v102^pc_search_result_base8&spm=1018.2226.3001.4187圖像檢索 - 乘積量化PQ(Product Quantization)_pq量化-CSDN博客文章瀏覽閱讀1.8w次,點贊10次,收藏33次。參考以下文章: 乘積量化(Product Quantization)最近鄰搜索之乘積量化(Product Quantizer)理解(一)看了兩天的乘積量化,先說下我自己的理解吧:(以下藍字使我的理解,紅字是我看別人的博客暫時沒弄懂的,我寫的比較啰嗦以便我回頭自己翻看時不會再有疑問(#^.^#)) 假設我們的圖片檢索庫有100萬張圖片,每張圖片提取多個128維的特征向量,..._pq量化
https://blog.csdn.net/guanyonglai/article/details/78468673?ops_request_misc=%257B%2522request%255Fid%2522%253A%25222510278dcb7b9f936e7ad117d56b9ccc%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=2510278dcb7b9f936e7ad117d56b9ccc&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-78468673-null-null.142^v102^pc_search_result_base8&utm_term=Product%20quantization%E4%B9%98%E7%A7%AF%E9%87%8F%E5%8C%96&spm=1018.2226.3001.418716.LSTM
https://blog.csdn.net/v_JULY_v/article/details/89894058?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223af27334abf9805fe68342d5717108ca%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=3af27334abf9805fe68342d5717108ca&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-89894058-null-null.142^v102^pc_search_result_base8&utm_term=LSTM&spm=1018.2226.3001.4187https://blog.csdn.net/v_JULY_v/article/details/89894058?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223af27334abf9805fe68342d5717108ca%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=3af27334abf9805fe68342d5717108ca&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-89894058-null-null.142^v102^pc_search_result_base8&utm_term=LSTM&spm=1018.2226.3001.4187
為什么 LSTM 比 RNN 好?
-
? 記憶機制:引入 Cell State,可長距離傳遞信息;
-
? 門控結構:遺忘門、輸入門、輸出門分別控制信息流,有效緩解梯度消失;
-
? 可控性強:每一步都能“決定”保留什么信息,丟棄什么,類比人腦的記憶調節;
-
? 泛化能力強:對變長輸入、長距離依賴任務表現優越。
為什么要混合使用 sigmoid 和 tanh?
1. Sigmoid:門控控制,像開關一樣工作
-
輸出值范圍是 (0,1)(0, 1)(0,1),易于解釋為“保留多少比例的信息”。
-
典型用途:遺忘門、輸入門、輸出門
-
0 → 完全關閉(不保留/不更新/不輸出)
-
1 → 完全打開(完全保留/更新/輸出)
-
🎯 作用:用于控制信息流是否通過
2. Tanh:用于生成/處理信息本身
-
輸出值范圍是 (?1,1)(-1, 1)(?1,1),包含正負方向信息。
-
更適合表示真實的“信息內容”或“候選狀態”。
-
正值:正向激活
-
負值:負向抑制
-
🎯 作用:用于建模信息值、記憶狀態本身
三、如果統一使用 sigmoid 或 tanh,會有什么問題?
? 全用 sigmoid 會導致:
-
候選值只能是 (0,1)(0, 1)(0,1),不具備正負性。
-
無法表達“反向信息”(如負情緒、抑制信號)。
-
信息受限在一個方向,降低表示能力。
? 全用 tanh 會導致:
-
門控無法精確控制信息通斷,因為 tanh?∈(?1,1)\tanh \in (-1,1)tanh∈(?1,1),門開關不明顯。
-
“門”失去明確的保留/遺忘語義。
17.推導LR和SVM,寫紙上
18.梯度下降法中,為什么在負梯度方向函數值下降最快?
19.
FM模型-CSDN博客文章瀏覽閱讀9.8k次,點贊10次,收藏30次。FM模型,即因子分解機,是一種用于解決高維稀疏數據問題的機器學習模型。它通過引入交叉項特征和隱向量,提高了模型的預測能力。本文詳細介紹了FM模型的工作原理,包括特征組合、求解過程及梯度計算,并提供了代碼實現。https://blog.csdn.net/sysu63/article/details/102678572?ops_request_misc=&request_id=&biz_id=102&utm_term=FM%E6%A8%A1%E5%9E%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-102678572.142^v102^pc_search_result_base8&spm=1018.2226.3001.4187FFM模型在CTR和CVR預估中的應用與實踐-CSDN博客文章瀏覽閱讀6.7k次,點贊4次,收藏16次。FM和FFM模型是最近幾年提出的模型,憑借其在數據量比較大并且特征稀疏的情況下,仍然能夠得到優秀的性能和效果的特性,屢次在各大公司舉辦的CTR預估比賽中獲得不錯的戰績。美團點評技術團隊在搭建DSP的過程中,探索并使用了FM和FFM模型進行CTR和CVR預估,并且取得了不錯的效果。本文旨在把我們對FM和FFM原理的探索和應用的經驗介紹給有興趣的讀者。文章參考:【1】文章目錄1. FFM模型原理2. FFM模型實現3. FFM模型應用1. FFM模型原理假設一個廣告分類的問題,根據用戶和廣告位相關的._ffm模型
https://blog.csdn.net/weixin_44441131/article/details/119827464推薦系統 - DeepFM架構詳解_deep fm-CSDN博客文章瀏覽閱讀4w次,點贊43次,收藏231次。說明理論部分請參照:https://www.jianshu.com/p/6f1c2643d31b,這里主要針對源碼進行解讀,填一些坑。簡單介紹1.DeepFM可以看做是從FM基礎上衍生的算法,將Deep與FM相結合,用FM做特征間低階組合,用Deep NN部分做特征間高階組合,通過并行的方式組合兩種方法,使得最終的架構具有以下特點。 (1) 不需要預訓練 FM 得到隱向量;..._deep fm
https://blog.csdn.net/maqunfi/article/details/99635620?ops_request_misc=&request_id=&biz_id=102&utm_term=deepFM%E6%A8%A1%E5%9E%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-99635620.142^v102^pc_search_result_base8&spm=1018.2226.3001.4187
推薦系統遇上深度學習(二十二):DeepFM升級版XDeepFM模型強勢來襲!-CSDN博客文章瀏覽閱讀2.9k次,點贊3次,收藏11次。今天我們要學習的模型是xDeepFM模型,論文地址為:https://arxiv.org/abs/1803.05170。文中包含我個人的一些理解,如有不對的地方,歡迎大家指正!廢話不多說,我們進入正題!1、引言對于預測性的系統來說,特征工程起到了至關重要的作用。特征工程中,挖掘交叉特征是至關重要的。交叉特征指的是兩個或多個原始特征之間的交叉組合。例如,在新聞推薦場景中,一個三階交叉特征為A..._xdeepfmhttps://blog.csdn.net/hellozhxy/article/details/82981077?ops_request_misc=%257B%2522request%255Fid%2522%253A%252220176e12f89bb19e7df6e08df1e36fb6%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=20176e12f89bb19e7df6e08df1e36fb6&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-82981077-null-null.142^v102^pc_search_result_base8&utm_term=xDeepFM&spm=1018.2226.3001.4187
20.判別模型和生成模型是兩個相對應的模型。?
判別模型是直接生成一個表示或者的判別函數(或預測模型)?
生成模型是先計算聯合概率分布然后通過貝葉斯公式轉化為條件概率。?
21.樸素貝葉斯公式
22.手寫sqrt函數
def sqrt(n):if n < 0:raise ValueError("只能處理非負整數")if n == 0 or n == 1:return nleft, right = 1, n // 2ans = 1while left <= right:mid = (left + right) // 2if mid * mid == n:return midelif mid * mid < n:ans = mid # 記錄當前最接近的平方根left = mid + 1else:right = mid - 1return ans
23.
-
模型batch內負采樣怎么做的?
-
加bias有什么用?
答:負采樣的本質是想打壓高曝光item,但是由于高曝光的item本身就頻繁出現在樣本中,隨機采可能會打壓過頭,因此加一個bias tower進行修正(其實就是學一個值取平衡正負樣本)。
24.在Adam當中,weight decay是直接加入到梯度當中,AdamW直接在權重上進行衰減,在收斂速度上也能領先于Adam。
25.TPE算法的核心思想是使用兩個不同的概率密度函數來建模參數的條件概率分布:一個用于建模表現好的參數配置的概率密度函數(Exploitation),另一個用于建模未知的參數配置的概率密度函數(Exploration)。通過不斷地調整這兩個概率密度函數,TPE算法能夠有針對性地在參數空間中搜索,從而更可能找到全局最優解。
TPE算法的步驟如下:
初始化: 隨機生成一組初始參數配置,并評估它們的性能。
迭代: 在每一輪迭代中,根據已經觀察到的參數配置和它們的性能,使用Exploitation模型和Exploration模型分別生成候選參數配置。
Exploitation模型: 該模型基于已知性能好的參數配置,通過建模條件概率分布,產生一個新的參數配置,以期望獲得更好的性能。
Exploration模型: 該模型用于在未知區域進行搜索,通過建模條件概率分布,產生一個新的參數配置,以期望發現未知但可能性能更好的區域。
評估: 對生成的候選參數配置進行評估,得到它們的性能。
更新模型: 根據評估結果,更新Exploitation和Exploration模型。
重復迭代: 重復進行迭代,直到達到預定的迭代次數或滿足停止條件。
26.XGBoost 中分箱一般使用的是:
? 等頻分箱(等深分箱,quantile binning)
把數據劃分成數量相等的 bin,每個 bin 中包含的樣本數盡可能相等。
27.推薦系統:冷啟動問題【用戶冷啟動、物品冷啟動、系統冷啟動】_解決用戶冷啟動推薦算法-CSDN博客文章瀏覽閱讀1w次,點贊16次,收藏59次。推薦系統的主要目標是將大量的標的物推薦給可能喜歡的海量用戶,這里涉及到標的物和用戶兩類對象。任何互聯網推薦產品,標的物和用戶都是不斷增長變化的,所以一定會頻繁面對新標的物和新用戶,推薦系統冷啟動問題指的就是對于新注冊的用戶或者新入庫的標的物,該怎么給新用戶推薦標的物讓用戶滿意,怎么將新標的物分發出去,推薦給喜歡它的用戶。推薦系統系列(10)推薦系統冷啟動。........._解決用戶冷啟動推薦算法https://blog.csdn.net/u013250861/article/details/126075335?ops_request_misc=%257B%2522request%255Fid%2522%253A%25224f35c7a621ed8220d19187db0eebda96%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=4f35c7a621ed8220d19187db0eebda96&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-126075335-null-null.142^v102^pc_search_result_base8&utm_term=%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84%E5%86%B7%E5%90%AF%E5%8A%A8%E9%97%AE%E9%A2%98%EF%BC%9F&spm=1018.2226.3001.4187
28.SSB(Sample Selection Bias,樣本選擇偏差)指的是:訓練數據的分布與測試/實際應用環境的數據分布不一致,從而導致模型訓練得到的規律在部署時效果變差。
這是機器學習,尤其是推薦系統和廣告排序系統中常見且嚴重的問題。
29.transformer計算復雜度