互联网金融风控面试算法知识(一)
? ? ? ?資料來源于網絡搜集和匯總,把算法知識的總結放在業務知識后面也是為了說明實際工作業務落地應用的重要性大于算法創新。面試題依然是適用于3年經驗以內的初學者,希望大家在學習算法的同時不要一心只研究算法而脫離了業務,要真正做到數據驅動業務。先附上之前對算法的一些總結:
1.常用機器學習算法的原理推導
2.評分卡的一些理論知識
關于邏輯回歸
一、邏輯回歸的優缺點,在金融領域相比其他算法有什么優勢,局限性在哪?
(1)優點:
實現簡單,速度快,占用內存小,可在短時間內迭代多個版本的模型。
模型的可解釋性非常好,可以直接看到各個特征對模型結果的影響,可解釋性在金融領域非常重要,所以在目前業界大部分使用的仍是邏輯回歸模型。
模型客群變化的敏感度不如其他高復雜度模型,因此穩健更好,魯棒性更強。
特征工程做得好,模型的效果不會太差,并且特征工程可以并行開發,大大加快開發的速度。
模型的結果可以很方便的轉化為策略規則,且線上部署簡單。
(2)缺點和局限性:
容易欠擬合,相比集成模型,準確度不是很高。
對數據的要求比較高,邏輯回歸對缺失值,異常值,共線性都比較敏感,且不能直接處理非線性的特征。所以在數據清洗和特征工程上會花去很大部分的時間。
在金融領域對場景的適應能力有局限性,例如數據不平衡問題,高維特征,大量多類特征,邏輯回歸在這方面不如決策樹適應能力強。
二、邏輯回歸是線性模型嗎?邏輯回歸和線性回歸的區別?
? ? ? ?邏輯回歸是一種廣義線性模型,它引入了Sigmod函數,是非線性模型,但本質上還是一個線性回歸模型,因為除去Sigmod函數映射關系,其他的算法原理,步驟都是線性回歸的。
? ? ? ?邏輯回歸和線性回歸首先都是廣義的線性回歸,在本質上沒多大區別,區別在于邏輯回歸多了個Sigmod函數,使樣本映射到[0,1]之間的數值,從而來處理分類問題。另外邏輯回歸是假設變量服從伯努利分布,線性回歸假設變量服從高斯分布。邏輯回歸輸出的是離散型變量,用于分類,線性回歸輸出的是連續性的,用于預測。邏輯回歸是用最大似然法去計算預測函數中的最優參數值,而線性回歸是用最小二乘法去對自變量因變量關系進行擬合。
三、邏輯回歸做分類的樣本應該滿足什么分布?
? ? ? ?應該滿足伯努利分布,邏輯回歸的分類標簽是基于樣本特征通過伯努利分布產生的,分類器要做的就是估計這個分布。
四、邏輯回歸解決過擬合的方法有哪些?
(1)減少特征數量,在實際使用中會用很多方法進行特征篩選,例如基于IV值的大小,變量的穩定性,變量之間的相關性等。
(2)正則化,常用的有L1正則化和L2正則化。
五、什么是特征的離散化和特征交叉?邏輯回歸為什么要對特征進行離散化?
? ? ? ?特征離散化是將數值型特征(一般是連續型的)轉變為離散特征,例如評分卡中的woe轉化,就是將特征進行分箱,再將每個分箱映射到woe值上,就轉換為了離散特征。特征交叉也叫作特征組合,是將單獨的特征進行組合,使用相乘/相除/笛卡爾積等形成合成特征,有助于表示非線性關系。比如使用One-Hot向量的方式進行特征交叉。這種方式一般適用于離散的情況,我們可以把它看做基于業務理解的邏輯和操作,例如經度和緯度的交叉,年齡和性別的交叉等。
? ? ? 實際工作中很少直接將連續型變量帶入邏輯回歸模型中,而是將特征進行離散化后再加入模型,例如評分卡的分箱和woe轉化。這樣做的優勢有以下幾個:
(1)特征離散化之后,起到了簡化模型的作用,使模型變得更穩定,降低了模型過擬合的風險。
(2)離散化之后的特征對異常數據有很強的魯棒性,實際工作中的哪些很難解釋的異常數據一般不會做刪除處理,如果特征不做離散化,這個異常數據帶入模型,會給模型帶來很大的干擾。
(3)離散特征的增加和減少都很容易,且稀疏向量的內積乘法運算速度快,易于模型的快速迭代。
(4)邏輯回歸屬于廣義線性模型,表達能力有限,特征離散化之后,每個離散變量都有單獨的權重,相當于給模型引入了非線性,能夠提高模型的表達能力。
?(5)離散化后的特征可進行特征交叉,進一步引入非線性,提高模型的表達能力。
六、在邏輯回歸中,為什么要常常做特征組合(特征交叉)?
? ? ? ?邏輯回歸模型屬于線性模型,線性模型不能很好處理非線性特征,特征組合可以引入非線性特征,提升模型的表達能力。另外,基本特征可以認為是全局建模,組合特征更加精細,是個性化建模,但對全局建模會對部分樣本有偏,對每一個樣本建模又會導致數據爆炸,過擬合,所以基本特征+特征組合兼顧了全局和個性化。
七、做評分卡中為什么要進行WOE化?
(1)更好的解釋性,變量離散化之后可將每個箱體映射到woe值,而不是通常做one-hot轉換。
(2)woe化之后可以計算每個變量的IV值,可用來篩選變量。
(3)對離散型變量,woe可以觀察各個level間的跳轉對odds的提升是否呈線性。
(4)對連續型變量,woe和IV值為分箱的合理性提供了一定的依據,也可分析變量在業務上的可解釋性。
(5)用woe編碼可以處理缺失值問題。
八、高度相關的特征帶入邏輯回歸到底有什么影響?為什么邏輯回歸要將高度相關特征剔除?
? ? ? ?在損失函數最終收斂的情況下,就算有很多相關度很高的特征,也不會影響模型的效果。假設一個特征將它重復100次,生成100個高度相關的特征。那么模型訓練完之后,這100個特征和原來那一個特征扮演的效果一樣,每一個特征的權重都是原來特征的1/100,只是可能中間很多特征的系數正負相互抵消了,比如做評分卡,如果引入了高度相關的特征,那么最后邏輯回歸的系數符號可能就會不一致。
? ? ? ?雖然高度相關特征對模型結果沒什么大的影響,但還是要剔除相關性高的特征,原因是一個可以減少特征數量,提高模型的訓練速度,減少過擬合的風險。二是去掉高相關特征可以讓模型的可解釋性更好。尤其在做評分卡時,為了使最后每個特征的系數符號一致,必須做特征相關性篩選。
九、邏輯回歸的特征系數的絕對值可以認為是特征的重要性嗎?
? ? ? ?首先特征系數的絕對值越大,對分類效果的影響越顯著,但不能表示系數更大的特征重要性更高。因為改變變量的尺度就會改變系數的絕對值,而且如果特征是線性相關的,則系數可以從一個特征轉移到另一個特征,特征間相關性越高,用系數解釋變量的重要性就越不可靠。
十、邏輯回歸為什么要用極大似然函數作為損失函數?
(1)數據歸一到0和1,這樣的話梯度下降會收斂的更快,相比不歸一化,不會出現扁平的情況。
(2)數據歸一化之后可以提高結果的精度,尤其在與正則化同時使用時,數據歸一化可以避免由于特征取值范圍差距過大,對取值較小特征的參數影響更大的問題。
關于決策樹
一、決策樹模型的優缺點及適用性?
優點:
(1)易于理解,決策樹可以生成IF..TEHN邏輯表達的樹結構,可解釋性很好。
(2)相比邏輯回歸對數據的處理較簡單,不太需要做例如數據離散化,歸一化等操作。
(3)決策樹是目前已知的對于處理非線性交互的最好的算法。
(4)模型的效果比較好,例如隨機森林,xgboost都是基于決策樹構建的。
缺點:
(1)很容易在訓練過程中生成過于復雜的樹結構,造成過擬合。
(2)不適合處理高維數據,當屬性數量過大時,部分決策樹就不適用了。
(3)泛化能力能力比較差,對于沒有出現過的值幾乎沒有辦法。
二、簡述一下決策樹的原理以及樹的構建過程
? ? ? ?決策樹時基于樹的結構進行決策的,學習過程包括特征選擇,決策樹的生成和剪枝過程。決策樹的學習過程通常是遞歸地選擇最優特征,并用最優特征對數據集進行分割。開始時,構建根節點,選擇最優特征,該特征有幾種值就劃分為多少子集,每個子集遞歸調用此方法,返回結點,返回的結點就是上一層的子節點,直到所有特征都已經用完,或者數據集只有一維特征為止。
三、簡述一下ID3,C4.5,CART三類決策樹的原理和異同點
(1)ID3選擇最佳分割點是基于信息增益的,信息增益越大,表明使用這個屬性來劃分所獲得的“純度提升”越大。C4.5對ID3進行了改進,因為ID3使用的信息增益對數據劃分時,可能出現每個結點只包含一個樣本,這些子節點的純度已經達到最大,但是,這樣的決策樹并不具有泛化能力,無法對新樣本進行預測。且ID3不能處理連續型變量和缺失值。而C4.5使用信息增益率來選擇屬性,克服了信息增益選擇屬性時偏向選擇值多的屬性的不足。且可以處理連續型變量和缺失值。
(2)C4.5是基于ID3的改進版,只能用于分類。而CART樹既可以做分類,也可以做回歸。CART的本質是對特征空間進行二元劃分,所以CART生成的是一顆二叉樹,且可以對類別型變量和數值型變量進行分裂。對分類型變量進行劃分時,分為等于該屬性和不等于該屬性,在對連續型變量進行劃分時,分為大于和小于,在做分類是使用的是GINI系數作為劃分標準,在做回歸時使用的是均方誤差。
四、分類樹和回歸樹的區別在哪里?
? ? ? ?分類樹以C4.5為例,在對一個特征進行劃分時,是窮舉這個特征的每一個閾值,找到使得特征<=閾值和特征>閾值分成的兩個分支的熵的最大值,按照該標準分支得到兩個新的節點,用同樣的方法繼續分支,直到得到種類唯一的葉子節點,或者達到預設的終止條件為止。
? ? ? ?回歸樹的流程是類似分類樹的,區別在于劃分時的標準不再是最大熵,而是最小化均差,如果節點的預測值錯的越離譜,均方差越大,通過最小化均差能夠找到最可靠的分支依據。
五、決策樹對缺失值是如何處理的?
決策樹處理缺失要考慮以下三個問題:
1、當開始選擇哪個屬性來劃分數據集時,樣本在某幾個屬性上有缺失怎么處理:
(1)忽略這些缺失的樣本。
(2)填充缺失值,例如給屬性A填充一個均值或者用其他方法將缺失值補全。
(3)計算信息增益率時根據缺失率的大小對信息增益率進行打折,例如計算屬性A的信息增益率,若屬性A的缺失率為0.9,則將信息增益率乘以0.9作為最終的信息增益率。
2、一個屬性已經被選擇,那么在決定分割點時,有些樣本在這個屬性上有缺失怎么處理?
(1)忽略這些缺失的樣本。
(2)填充缺失值,例如填充一個均值或者用其他方法將缺失值補全。
(3)把缺失的樣本,按照無缺失的樣本被劃分的子集樣本個數的相對比率,分配到各個子集上去,至于那些缺失樣本分到子集1,哪些樣本分配到子集2,這個沒有一定準則,可以隨機而動。
(4)把缺失的樣本分配給所有的子集,也就是每個子集都有缺失的樣本。
(5)單獨將缺失的樣本歸為一個分支。
3、決策樹模型構建好后,測試集上的某些屬性是缺失的,這些屬性該怎么處理?
(1)如果有單獨的缺失值分支,依據此分支。
(2)把待分類的樣本的屬性A分配一個最常出現的值,然后進行分支預測。
(3)待分類的樣本在到達屬性A結點時就終止分類,然后根據此時A結點所覆蓋的葉子節點類別狀況為其分配一個發生概率最高的類。
六、為什么決策樹不需要對數據做歸一化等預處理?
? ? ? ?決策樹是一種概率模型,所以不需要做歸一化,因為它不關心變量的值,而是關心變量的分布和變量之間的條件概率,所以歸一化這種數值縮放,不影響分裂結點位置。
七、如何解決決策樹的過擬合問題?
1.預剪枝的方法
? ? ? ?通過提前停止樹的構建而對樹剪枝,是目前解決過擬合的主要方法。常用的剪枝條件包括限制樹的深度,限制葉節點最小樣本數,限制葉節點的最小樣本權重,限制葉節點的信息增益值的閾值等。
2.后剪枝的方法
? ? ? 首先構造完整的決策樹,允許樹過度擬合數據,然后應單個結點代替子樹,節點的分類采用子樹的主要分類。剪枝方法有錯誤率降低剪枝,悲觀錯誤剪枝,代價復雜度剪枝
【作者】:Labryant ?
【原創公眾號】:風控獵人 ?
【簡介】:做一個有規劃的長期主義者。
【轉載說明】:轉載請說明出處,謝謝合作!~
總結
以上是生活随笔為你收集整理的互联网金融风控面试算法知识(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Keystone认证服务详细操作流程
- 下一篇: web前端dya07--ES6高级语法的