梁顥嚴
摘要:隨著金融證券化的發展,銀行已由賣方市場轉到了買方市場。因此,爭奪實力雄厚、信用度高、還款能力強的客戶是商業銀行主要的競爭。文章綜述了利用人工智能方法在貸款申請預測方面的研究。將利用Logistic Regression算法建立貸款申請最大化利潤模型,同時利用機器學習的基本理論,證明本模型的泛化性良好。
關鍵詞:人工智能;Logistic Regression;貸款申請;機器學習
一、前言
銀行貸款,指的是銀行根據國家政策以一定的利率將資金貸放給資金需要者,并約定期限歸還的一種經濟行為。一般要求房屋抵押、提供擔保、收入證明、個人征信良好才可申請。
近年來,隨著政策的進一步開放與人民消費理念的進步,我國商業銀行個人消費貸款發展迅速,個人消費貸款占銀行貸款總額的比重逐年增長,并逐步成為銀行主要的業務和效益來源之一。隨著金融證券化的發展,銀行在貸款這項金融活動中也面臨諸多的風險,如利潤風險、流動性風險、信用風險等。因此,如何提高信貸資產的安全性,如何對申請貸款的用戶進行正確的信用評估,嚴格避開不良借貸的風險,成為了一家銀行能否平穩運行的重中之重。
早在1998年5月,中國人民銀行便參照國際慣例,結合我國國情,制定了《貸款分類指導原則》,要求商業銀行依據借款人的實際還款能力進行貸款質量的五級分類,即按風險程度將貸款劃分為五類:正常、關注、次級、可疑、損失,后三種為不良貸款。不良的貸款首先對銀行來說是一種極大的利益損害,當銀行的不良貸款過多的時候,就會極大的影響銀行的經營運轉。對社會而言,不良貸款也起到負面的影響,并形成一系列的不良反應。所以銀行想要的便是借款人能夠履行合同,能正常還本付息,及時償還全款的正常貸款。
隨著互聯網金融的發展,傳統的分析方法和手段已經不能滿足金融貸款公司越來越高的成本利潤分析要求,大數據技術的出現,滿足了金融貸款公司的動態,靈活,實時的分析需求。經研究,影響個人貸款還款的主要因素有:借款人信用狀況,借款人就業情況與從業時間,借款人的收入來源與消費傾向,借款人的年齡,學歷,婚姻家庭狀況等。本文將綜合上述因素進行分析,利用傳統機器學習,構建貸款模型,盡量降低銀行的貸款風險。研究意義有以下方面:從理論上討論了利用Logistic Regression建立貸款申請最大化利潤模型的可行性,并運用機器學習的理論證明其合理性;運用現有少量數據集對所建立的模型進行驗證;為銀行今后制作相關的網絡系統提供制作算法,制作理念和制作核心。
二、探究基于傳統機器學習的貸款模型
(一)機器學習
1. 簡介
機器學習是人工智能的核心,是利用人工智能解決現實問題的理論基礎。機器學習能夠以數據為學習對象,從數據中挖掘數據內在的信息從而不斷迭代訓練,總結出僅靠人類無法發現的潛在規律和問題,機器學習的運用也在生活中變得越來越廣泛,例如在數據挖掘、計算機視覺、自然語言處理、語音識別等都有相應的推廣。
2. 監督學習與無監督學習
機器學習中被最廣泛采納的兩大機器學習方法是監督學習和無監督學習。大約70%的機器學習是監督學習,無監督學習大概占10%~20%,有時也會使用1半監督學習和強化學習。本文將使用的決策樹,SVM算法以及Logistic Regression就屬于監督學習算法。
監督學習就像已經知道所需輸出的輸入,運用已知的數據信息訓練算法。首先學習算法會獲得對應所求輸出的數據標簽,算法會將實際輸出與所求輸出進行對比練習,找到錯誤。然后對現有模型進行修改,通過分類、回歸、梯度下降等方法,最終使算法可以通過新的數據來預測可能的結果。例如,本文就是為了預測什么樣的貸款交易是有風險的。
無監督學習,與監督學習恰恰相反,使用無歷史標簽的相反數據。系統不會被告知正確的輸出,算法必須自己探索所求輸出。無監督學習對事務性數據的處理效果很好。例如,它可以識別有一些具有相同屬性的貸款客戶群體,或者它可以找到主要屬性將客戶群體彼此區分開。
(二)建立貸款模型
前文已經簡述了機器學習的相關內容,我們知道機器學習是能夠基于數據建模學習的一種方法,對大數據條件下的問題可以通過機器學習算法模型挖掘數據中大量的潛在價值和信息,從而指導人類分析和解決問題。我們回到本文的貸款申請最大化利潤問題,我們需要評判的是用戶是否具備還款的能力,從而決定是否給出該用戶的借貸資格,這是個很典型的分類問題,希望通過用戶的個人信息,建立模型給出一個評估結果(同意貸款或不同意貸款)。嘗試通過算法模型分析出一名用戶具備還款能力的可能性,以此輔助我們在業務上進行決策。分類問題是機器學習中的基本問題,諸如決策樹,SVM,邏輯回歸等基礎模型都得到了廣泛的應用,基于邏輯回歸在二分類問題上的通用性,我們決定以Logistic Regression來建立模型。
1. 邏輯回歸
首先,線性回歸是一種因變量與自變量成線性關系的回歸分析。在線性回歸中,可以利用線性預測函數通過已知數據來進行建模并大致預測模型參數。
線性回歸作為一種廣義的線性回歸分析模型。它的模型形式為:
z=w1*x1+w2*x2+…wn*xn+b(1)
其中w和b是待求參數,邏輯回歸通過函數L將wx+b對應一個隱狀態p:
p=L(wx+b) (2)
然后根據p 與1-p的大小決定因變量的值。邏輯回歸的因變量一般是二分類的,其容易解釋被人們所常用,但也可以是多分類的。
邏輯回歸的實質是將正樣本概率除以負樣本概率再取其對數。這一簡單的變換將概率變成了比值,一方面改變了取值區間的矛盾,另一方面,經過長時間的大量實踐總結發現,它還常常是因變量和自變量之間呈線性關系。所以,邏輯回歸從根本上解決了因變量可能不連續的問題。在生活中,許多現實問題也與它的模型相吻合,就例如一件事情是否發生跟其他數值型自變量的關系。
線性回歸的輸出z,即樣本特征與參數的線性組合,邏輯回歸通過激活函數Sigmoid函數將原始的連續值輸出z映射在了區間[0,1]的概率分布上,從而將模型輸出轉變為我們希望得到的類別概率形式描述目標問題。之所以叫Sigmoid,是因為函數的圖像很想一個字母S,其特性:函數的取值在0~1之間,且在0.5處為中心對稱,并且越靠近x=0的取值斜率越大。
Sigmoid的公式形式:
f(z)=1/1+e-z(3)
Sigmoid函數可以將任意的數據輸入都映射到了[0,1]區間。這樣我們可以順利地將線性回歸得到的預測值映射到Sigmoid函數中,完成由值到概率的轉化,得到我們想要的客戶是否符合結果的概率。
2. 損失函數
損失函數是為了評估模型擬合的好壞,通常用損失函數來度量模型的擬合程度。而損失函數的最小化,意味著擬合程度最好,對應的模型參數即為最優參數。邏輯回歸的損失函數為對數損失函數,因為數據集中有很多數據,要求將這些數據相乘,又因為概率p總是在(0,1)之間的,所以如果利用對數函數變換將連乘變為連加,那么就不會超出計算精度。
在損失函數中,當y為1,即樣本為正樣本,那么我們希望將其預測為正樣本的概率p越大越好,則logp越大越好。反之,當y為0時,那么我們希望將其預測為負樣本的概率越大越好,即log(1-p)越大越好。
3. 梯度下降法
為了得到最小化的損失函數和最優的模型參數值,可以通過梯度下降法來一步步的迭代求解。
首先,梯度下降,是采用一步步逼近目標函數的最小值的方法。但因為損失函數不一定是凸函數,這種方式有可能會求得局部的最優解,而不是整個函數全局的最優解。所以還需要對選擇方式,學習率和批處理數量進行研究。
學習率也就是每一步的步長,可以盡量從小開始,如果還是達不到最優就在減小,但也不能太小徒增計算量,增加計算時間。
梯度下降法也大致分為三類,分別是批量梯度下降法,隨機梯度下降法及小批量梯度下降法。第一種每次迭代都考慮全部樣本,太費時間;第二種迭代速度快,但不一定每次都朝著收斂的方向;最后一種每次選擇一小部分樣本,既實用又方便。所以我們的處理方式將選擇小批量梯度下降法。
以上已經簡述了本次構建貸款最大化模型的相關制作算法與核心知識。接下來,將開始著手介紹模型的實現。
三、數據集來源
本論文實驗數據來自P2P平臺lending club在2007~2011年貸款申請人的各項評估指標,我們基于此數據集,結合機器學習算法建立貸款申請模型。
原始數據集包括40000個樣本,每個樣本包含52個特征。本文首先基于對信貸行業的理解,對特征維度進行初步篩選。
原始數據集中主要特征為貸款金額,貸款期限,利率,工作年限這類整型或浮點型數據,以及“貸款意圖”,“貸款公司頭銜”,“貸款人有無房產”,“是否成功借貸”這類字符型數據。
四、實驗過程
(一)數據預處理
數據的預處理和特征選擇是機器學習解決問題過程中的重要環節,也被定義為特征工程。特征工程就是把原始數據轉化為需要的數據,也即能夠被機器學習模型接受并有效訓練的數據,多數時候我們往往會把大量的精力投入在構建模型和調節參數之中,卻忽略了特征工程的重要性。
首先針對數據集的特征進行初步的探索性分析,主要了解各數據特征在貸款業務中的邏輯及含義。基于這些業務知識和特征與結果的相關性進行粗略的篩選,清理掉與貸款業務相關性不是很大的部分特征。本數據集中如公司名稱,申請人ID,以及一些編碼如url等特征顯然與業務相關性不大,對這些特征進行清理。
數據集中選擇是否成功借貸作為我們數據集的標簽,表示最終同意貸款或不同意貸款。用Python第三方提供的常用機器學習庫sklearn進行模型的建立,由于sklearn中各學習模型只能接受數值類型的數據,因此像標簽特征這樣的離散型數據,將“是”和“否”做映射處理,將其轉化為數值類型數據0和1。
若數據的某一列特征取值為唯一值,顯然這樣的特征對我們的模型訓練是沒有意義的,在數據的處理過程中我們也進行刪除處理。針對數據中某一特征缺失值較少,選擇刪除這少量樣本,而如果某列特征缺失值過多,認為該特征失去訓練價值,將該列刪除。
(二)實驗結論
本文采用數據集中的“是否同意借貸”為標簽,是典型的二分類問題,而邏輯回歸作為機器學習中二分類問題的經典算法,將其作為首選模型進行建模。使用Python實現邏輯回歸算法模型,調用sklearn庫完成具體的模型實現及訓練。初始學習率設置為0.01,其他參數采用默認值,并采用10折交叉驗證。
需要注意到的是,對模型的評判標準,應當根據貸款行業的實際業務場景,以實現利潤最大化為目標進行模型評判,因此對模型要求高的準確率的同時,還應當要求盡量降低錯誤率,在本論文場景中,一次成功的借貸帶來的利潤為該用戶償還的貸款利率,而虧損來自于我們錯誤地完成了一次無法收回貸款的借貸交易,而這樣的虧損相比于一位用戶的利率來說是要高出很多的。因此對負樣本(不同意借貸)的關注不可被忽視。
模型最終預測的結果中,正確率于錯誤率都達到了99%,通過對原始數據的觀察發現數據中正負樣本為6:1,造成了模型對正樣本的偏重,采用調整正負樣本權重的方式進行改善,重新訓練之后的結果為正確率73%,錯誤率47%。
實驗最后同時對比了其他幾種傳統機器學習算法,SVM的正確率為68%,錯誤率為52%,而決策樹的正確率為66%,錯誤率為49%。
從業務角度上,本文最終根據模型預測的結果進行綜合衡量,權衡準確率和召回率等多項指標,以得到利潤最大化。
五、結論與展望
本文基于機器學習算法建模,以經典二分類模型邏輯回歸為核心算法在實際場景中建立貸款申請最大化利潤模型,并且在數據集上表現良好,對最大化銀行利潤起到了不錯的參考和指導作用。本文的模型仍存在一些提升空間,基于實驗數據集較小,尚未進行大規模數據進行訓練測試,未來可以在調節參數,嘗試更換一些集成算法上做出優化,本文對正負樣本不均衡問題采用的是調整正負樣本權重方式,是基于數據樣本較小的情況下做出的考慮,最好的辦法依然還是盡量獲取到更多的數據,從而使模型得到更強的泛化能力。
參考文獻:
[1]潘曉文,趙永清.商業銀行計提貸款損失準備進行利潤平滑的研究[J].現代金融,2015(12).
[2]曲冠知.大數據下的金融貸款公司成本利潤分析[J].科技經濟導刊,2018(19).
(作者單位:西安高新一中國際部)