陳宇皓
摘要:近日,馬航MH370搜救小組正式解散的新聞引起了軒然大波,很多人感嘆現(xiàn)在交通救援的發(fā)展遠遠不及交通運輸?shù)臓顩r是非常不合理的。在互聯(lián)網(wǎng)時代下大數(shù)據(jù)興起人工智能急速發(fā)展的浪潮里,通過對大數(shù)據(jù)的分析更好的預測不同類型乘客的生還率以協(xié)助實施救援,成為非常有效的方法。在對數(shù)據(jù)處理的各種算法進行學習的時候運用創(chuàng)新思維,以泰坦尼克號的有效數(shù)據(jù)為例,選擇KNN(k-NearestNeighbor)模型和邏輯回歸(Logistic Regression)模型,結合數(shù)據(jù)預處理、可視化分析等方法,對船只失事時乘客的生還率進行預測,同時對比兩種模型的優(yōu)劣,希望對上述方面有實質性的意義。
關鍵詞:KNN;邏輯回歸;海上災難
中圖分類號:F24文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.16.038
1引言
1.1選題背景
海上搜救是指政府、專業(yè)部門及志愿者針對海上事故等做出的搜尋、救援等工作,海上搜救僅靠個人的力量是遠遠不夠的,需要全方位的技術支持。提前求援一分鐘可能就能夠少一分危險,挽救更多人的、奄奄一息的生命。海上搜救不可知因素較多和經(jīng)驗也比較少,因此其難度非常大,政府也一直致力于探索海上搜救如何能及時判斷不同類型乘客的存活率,從而第一時間找到最適合救援方案。漫無目的的搜救效率較低,準確的根據(jù)乘客特征預測其生還的概率可以提高搜救的效率。
本文以泰坦尼克號乘員的數(shù)據(jù)為例,結合KNN與邏輯回歸兩種模型進行探索,希望可以給海上搜救中對遇難者生還概率的判定一定的輔助作用。
1.2研究綜述
海上搜救的不可知因素非常多,其難度非常大,并需要較強的技術系統(tǒng)等支持,因此,對海難搜救效率的提升、快速準確的判斷乘客生還率非常重要。海難時的天氣、地理位置等影響因素都會導致簡單的模型無法準確預測,因此需要構建更復雜更嚴格的模型來進行相關的預測。研究界目前對海上遇難情況中不同類型的乘客的生還率預測有多種方法,如SVM支持向量機模型、邏輯回歸模型、卷積神經(jīng)網(wǎng)絡、前饋神經(jīng)網(wǎng)絡等等模型,接下來對本文所用的模型等進行簡單的介紹。
1.3本文簡介
本文所獲取的泰坦尼克號船只相關數(shù)據(jù)集來自AI領域非常知名的比賽網(wǎng)站Kaggle,通過對數(shù)據(jù)的可視化分析等找出影響乘客生還的主要因素,對比KNN與邏輯回歸兩個模型的優(yōu)勢與劣勢,結合集成學習的方法進行實驗。試驗的過程中通過多次觀察發(fā)現(xiàn)不同的數(shù)據(jù)預處理對實驗結果的影響較大,因此,本文首先針對數(shù)據(jù)預處理進行了比較詳細的介紹。實驗過程中,使用交叉驗證的方法避免過擬合現(xiàn)象的發(fā)生,并通過集成學習的方法進一步提高精度。
2數(shù)據(jù)預處理
2.1介紹數(shù)據(jù)與數(shù)據(jù)預處理
數(shù)據(jù)(data)是對客觀事物的性質、狀態(tài)及相互關系等進行觀察并邏輯歸納的一種物理符號,是一個抽象的概念。數(shù)據(jù)“屬性”是指數(shù)據(jù)所具有的各種維度的性質,維度過大的數(shù)據(jù)中常包含一些與預測結果無關的屬性,此時便需要通過各種各樣的數(shù)據(jù)降維處理方法進行降維篩選。數(shù)據(jù)屬性也和其他屬性一樣有其對應的描述單位,我們平時所說的電腦容量,手機內存等等都是如此。
實驗中的數(shù)據(jù)通常來自現(xiàn)實生活,所以得到的數(shù)據(jù)往往比較雜亂,雜亂的數(shù)據(jù)并不是信息,只有加工后且有一定意義的數(shù)據(jù)才可以成為信息。大量的原始數(shù)據(jù)中有缺失、冗余、錯亂等瑕疵數(shù)據(jù),數(shù)據(jù)缺失是指某些重要的數(shù)據(jù)不完整造成對整體結果的影響,數(shù)據(jù)冗余是指數(shù)據(jù)中存在不相關的干擾因素,需要刪除。因此,在實驗代入算法之前,需要對數(shù)據(jù)進行一些預處理。
2.2數(shù)據(jù)預處理的方式
數(shù)據(jù)預處理形式包括多項,常見的例如:數(shù)據(jù)清理,數(shù)據(jù)集成與變換,數(shù)據(jù)歸約,數(shù)據(jù)離散化及概念分層等,除了這些常規(guī)的處理,還有其他可能數(shù)據(jù)預處理的形式,如數(shù)據(jù)的壓縮存儲,包括有損壓縮與無損壓縮,基于項目的實際意義對數(shù)據(jù)內容篩選等。本文僅詳細介紹數(shù)據(jù)清理,數(shù)據(jù)集成與數(shù)據(jù)變換。
2.2.1數(shù)據(jù)清理
實驗中的數(shù)據(jù)通常來自現(xiàn)實生活的積累,所以得到的數(shù)據(jù)往往比較雜亂,無法直接帶入算法計算,數(shù)據(jù)清理便是為了解決這個問題。數(shù)據(jù)的清理包括識別并消除“噪音”,填充遺漏的值,將數(shù)據(jù)中的不一致更改為一致等過程,在實驗中可根據(jù)情況選擇其中幾個過程。
計算機無法處理為NULL的遺漏值,因此處理遺漏值常采用的措施有兩類,忽略和補全。忽略即當此元組缺失屬性較多時忽略整個元組,或此屬性樣本缺失過多時可忽略此屬性;補全即通過某種方法將此遺漏補全,常見的方法是根據(jù)現(xiàn)有數(shù)據(jù)的情況用均值等填充某個遺漏值。
“噪音”的本意是指音量過強而危害人體健康,或引起人煩躁的聲音,對于數(shù)據(jù)而言,“噪音”是指獲取數(shù)據(jù)時出現(xiàn)的隨機錯誤或偏差,例如測量偏差等。去除“噪音”有以下方法:數(shù)據(jù)分箱是指將數(shù)據(jù)按照一定規(guī)則分布到一些“箱”中,用周圍相鄰的值來平滑箱中的值。數(shù)值聚類是根據(jù)規(guī)則將近似的值聚集成某種有中心的形狀的“類”,落在這個“類”集合之外的值通??杀灰暈椤霸胍簟薄;貧w分析是現(xiàn)在常用的一種方法,回歸分析的原理是擬合出一個可以表達數(shù)據(jù)之間關系的函數(shù),然后找出離群點。例如最簡單的線性回歸,即擬合出能表達兩個變量之間關系的直線,通過一個變量預測另一個變量(y=kx+b),如圖1所示,離直線過遠的點即為離群點。
2.2.2數(shù)據(jù)集成
數(shù)據(jù)集成是指根據(jù)數(shù)據(jù)相關性將不同數(shù)據(jù)統(tǒng)一起來。
顯然,數(shù)據(jù)集成中最核心的概念是數(shù)據(jù)的相關性。數(shù)據(jù)相關性分為強正(負)相關、弱正(負)相關、非線性相關和不相關。其中,強正相關是指同進退,共同增加或共同減少,強負相關是指你進我退,強正(負)相關均互相變化影響明顯,說明A是B的主要影響因素;弱正(負)相關與強正(負)相關類似,但是指變化不明顯,即A是B的影響因素,但不是唯一因素;非線性相關是指A是B只有一定的關系,并不是重要的影響因素;不相關顧名思義即兩者無關。
2.2.3數(shù)據(jù)變換
顧名思義數(shù)據(jù)變換即在不失真的情況下對數(shù)據(jù)的格式、粒度等進行一定的調整。常見的數(shù)據(jù)變換有數(shù)據(jù)規(guī)范化,數(shù)據(jù)泛化,屬性構造等。
數(shù)據(jù)規(guī)范化是指為了計算方便、保持不同類型屬性權重一致等目的將數(shù)據(jù)映射到更合理的大小范圍內,需保持大小關系不變。常見的規(guī)范化有最小-最大規(guī)范化等。
數(shù)據(jù)泛化是將數(shù)據(jù)集從較低的概念層抽象到較高的概念層的過程。例如,在本項目中,我們需要乘客的年齡,卻不需要非常詳細的出生年月日,這時可將原有的“出生年月日”屬性抽象為“年齡”屬性,甚至“年齡層”屬性。泛化需要遵循一定的規(guī)則,即當屬性存在大量不同值,且屬性值無法概念分層時,此屬性刪除,例如“姓名”;當屬性存在大量不同值,且屬性值可以概念分層,則將屬性值概念分層,例如“出生日期”;當屬性存在少量不同值時,可保留原屬性,例如“船艙登記”屬性;當屬性不存在不同值時,此屬性對預測結果無意義,可刪除。
3模型引入
3.1K近鄰(KNN)模型
鄰近算法,或者說K值最近鄰分類算法(KNN,k-Nearest Neighbor)是數(shù)據(jù)挖掘分類技術中最常見的算法之一。其實質是每個樣本都可用它最接近的K鄰居來代表,這倒也應了那句古話,“物以類聚、人以群分”,其實在數(shù)學上的許多方法就是運用了類似思想。由于KNN方法的核心思想主要依靠需預測值周圍有限的鄰近的樣本,而不是靠判別需預測值類域的方法來確定所屬類別,因此,對于類域的重疊較多的樣本集來說,KNN方法更為適合。
K值最近鄰分類算法(KNN,k-Nearest Neighbor)的核心思想是在特征空間中,如果一個樣本在的K個距離最近的樣本中的大部分樣本屬于某個類別,則該樣本也屬于此類別。根據(jù)此思想我們可以知道,“距離”是KNN中最重要的概念。常見的距離計算方式有歐氏距離、曼哈頓距離等,歐氏距離在二維空間中即為高中所學的兩點間距離公式,三維空間中加上z軸距離差進行計算。
二維空間公式為:
三維空間公式為:
其中ρ為點x2,y2 與x1,y1 之間的歐氏距離,X 為點x2,y2到原點的歐式距離。
我們要解決的問題中,訓練樣本包括600個乘客的特征數(shù)據(jù)。對于測試集的300個數(shù)據(jù),計算每一個乘客與訓練集中600個乘客的距離遠近,從中選出距離最近的K個樣本,K個樣本中所屬類別最多的類別即測試樣本的類別。
在實驗中,采用sklearn機器學習庫中KNN模型算法,嘗試了不同的k取值,觀察其在該問題上的正確率。測試的結果顯示,當k=16時,測試集的正確率最高,在87.8%左右,還存在優(yōu)化的空間。本實驗的訓練集僅為600個樣本,當上百萬訓練樣本時,KNN算法的局限性就較明顯,每預測一個新的樣本,都需要計算該樣本與上百萬樣本的距離,運行速度緩慢且效率低下,這時需要選用其他更合適的分類模型。
3.2邏輯回歸(Logistic Regression)模型
3.2.1邏輯回歸的思想來源
在高中數(shù)學中,我們都學過給定兩個點的坐標,求得兩點之間直線的坐標,“回歸分析”則是用直線來擬合多個點的大概走勢。在一個坐標系中,分布著許許多多的點,我們用一條直線去盡可能的串聯(lián)起所有點,再運用此函數(shù)圖像對需要預測的數(shù)據(jù)進行預測。
在了解邏輯回歸之前,我們先談談什么是概率。概率,又稱或然率、機率或可能性,是對隨機事件發(fā)生可能性的一種度量,通常用一個在0到1之間的實數(shù)表示事件發(fā)生可能性的大小。概率,簡而言之,就是描述一件事情發(fā)生的可能性。比如隨機擲骰子,那么得到任意一個點數(shù)的概率是1/6。一件事情的概率,可能性的取值在[0,1]之間。邏輯回歸(Logistic Regression)是機器學習中一個經(jīng)典的分類模型,為什么之前提到概率知識呢?因為邏輯回歸模型就是預測一件事情發(fā)生的概率可能性。比如預測乘客存活的概率是08,0.7等等。
舉個例子,對于一個分類問題,如果想實現(xiàn)我們的分類要求,只需要在特征空間里找到一個“超平面”,即可將兩種類別給區(qū)分開來。這個超平面也稱之為決策邊界。比如考試成績,60分就是一個臨界值,可以看作為一個決策邊界,所有大于60分的判為及格,所有小于60分的判為不及格。邏輯回歸,就是幫助我們找到這樣一條“超平面”,能夠將不同的類型正確的劃分開來。如把存活的乘客和未存活的乘客劃分開。
邏輯回歸基本原理是采用sigmoid函數(shù)作為預測函數(shù),來預測條件概率。在本實驗中,sigmoid函數(shù)的輸出就是乘客存活下來的概率,在訓練模型的過程中,通過最小化極大似然代價函數(shù),來不斷的提高準確率。
3.2.2邏輯回歸的假設函數(shù)
假設函數(shù)(Hypothesis Representation)的構造方法以多變量線性回歸問題為基礎,其計算方法為綜合考慮多個變量得到其線性組合。而對于二分類問題,假設函數(shù)的取值應該滿足 0 ≤ h(θ)≤ 1,因此采用非線性函數(shù) Sigmoid 函數(shù)(SigmoidFunction)來將任意范圍內的值規(guī)范化到 [0,1]區(qū)間內。邏輯回歸方法的假設函如下式:
g(z) = 1/(1+e-z)
我們的模型在訓練集上的準確率達到了79.8%,在測試集上達到了81.7%的正確率,取得了良好的性能。邏輯回歸的優(yōu)點是在于簡單,訓練速度相對于KNN模型快很多。但是其適合用于線性可分的問題當中,而對于一些線性不可分的問題中,采用更復雜的SVM模型可能會取得更好的效果。
3.3集成學習簡介
集成學習被認為是各種各樣的單一學習的有機統(tǒng)一學習模型,從而獲得更準確、穩(wěn)定和強壯的結果。近年來,各種各樣的集成學習模型相繼被提出并運用于各種類型的大數(shù)據(jù)運算中。為了進行更加全面更加有效的預測,我們需要把不同方面的單一學習結合起來,全局進行分析問題。在上文我們已經(jīng)通過KNN算法與回歸模型已經(jīng)建立起了簡單的單一學習。但為進行更加全面更加有效的預測,我們就需要把從不同方面的來的單一學習結合起來,全局進地分析問題。本項目選擇Bagging策略來進行準確率的提升。
4結語
本文以泰坦尼克號乘員的數(shù)據(jù)為例,結合KNN與邏輯回歸兩種模型進行探索,對比兩種模型在該問題上的優(yōu)缺點。
KNN算法的優(yōu)點是精度高,對異常值不敏感。但是缺點是對k的取值相對比較敏感,不同的k取值對模型產(chǎn)生的結果可能差異性非常的明顯。邏輯回歸的優(yōu)點是在于簡單,訓練速度相對于KNN模型快很多。但是其一般更適合用于線性可分的問題當中,而對于一些線性不可分的問題中,采用更復雜的非線性模型可能會取得更好的效果。
參考文獻
[1]楊麗華,戴齊,郭艷軍.KNN文本分類算法研究[J].微計算機信息,2006,22(21):269-270.
[2]李卓冉.邏輯回歸方法原理與應用[J].中國戰(zhàn)略新興產(chǎn)業(yè),2017,(28):114-115.
[3]范玉妹,郭春靜.支持向量機算法的研究及其實現(xiàn)[J].河北工程大學學報(自然科學版),2010,27(04):106-112.