演算法分析文章
『壹』 決策樹演算法-原理篇
關於決策樹演算法,我打算分兩篇來講,一篇講思想原理,另一篇直接擼碼來分析演算法。本篇為原理篇。
通過閱讀這篇文章,你可以學到:
1、決策樹的本質
2、決策樹的構造過程
3、決策樹的優化方向
決策樹根據使用目的分為:分類樹和回歸樹,其本質上是一樣的。本文只講分類樹。
決策樹,根據名字來解釋就是,使用樹型結構來模擬決策。
用圖形表示就是下面這樣。
其中橢圓形代表:特徵或屬性。長方形代表:類別結果。
面對一堆數據(含有特徵和類別),決策樹就是根據這些特徵(橢圓形)來給數據歸類(長方形)
例如,信用貸款問題,我根據《神奇動物在哪裡》的劇情給銀行造了個決策樹模型,如下圖:
然而,決定是否貸款可以根據很多特徵,然麻雞銀行選擇了:(1)是否房產價值>100w;(2)是否有其他值錢的抵押物;(3)月收入>10k;(4)是否結婚;這四個特徵,來決定是否給予貸款。
先不管是否合理,但可以肯定的是,決策樹做了特徵選擇工作,即選擇出類別區分度高的特徵。
由此可見, 決策樹其實是一種特徵選擇方法。 (特徵選擇有多種,決策樹屬於嵌入型特徵選擇,以後或許會講到,先給個圖)即選擇區分度高的特徵子集。
那麼, 從特徵選擇角度來看決策樹,決策樹就是嵌入型特徵選擇技術
同時,決策樹也是機器學習中經典分類器演算法,通過決策路徑,最終能確定實例屬於哪一類別。
那麼, 從分類器角度來看決策樹,決策樹就是樹型結構的分類模型
從人工智慧知識表示法角度來看,決策樹類似於if-then的產生式表示法。
那麼, 從知識表示角度來看決策樹,決策樹就是if-then規則的集合
由上面的例子可知,麻雞銀行通過決策樹模型來決定給哪些人貸款,這樣決定貸款的流程就是固定的,而不由人的主觀情感來決定。
那麼, 從使用者角度來看決策樹,決策樹就是規范流程的方法
最後我們再來看看決策樹的本質是什麼已經不重要了。
決策樹好像是一種思想,而通過應用在分類任務中從而成就了「決策樹演算法」。
下面內容還是繼續講解用於分類的「決策樹演算法」。
前面講了決策樹是一種 特徵選擇技術 。
既然決策樹就是一種特徵選擇的方法,那麼經典決策樹演算法其實就是使用了不同的特徵選擇方案。
如:
(1)ID3:使用信息增益作為特徵選擇
(2)C4.5:使用信息增益率作為特徵選擇
(3)CART:使用GINI系數作為特徵選擇
具體選擇的方法網上一大把,在這里我提供幾個鏈接,不細講。
但,不僅僅如此。
決策樹作為嵌入型特徵選擇技術結合了特徵選擇和分類演算法,根據特徵選擇如何生成分類模型也是決策樹的一部分。
其生成過程基本如下:
根據這三個步驟,可以確定決策樹由:(1)特徵選擇;(2)生成方法;(3)剪枝,組成。
決策樹中學習演算法與特徵選擇的關系如下圖所示:
原始特徵集合T:就是包含收集到的原始數據所有的特徵,例如:麻瓜銀行收集到與是否具有償還能力的所有特徵,如:是否結婚、是否擁有100w的房產、是否擁有汽車、是否有小孩、月收入是否>10k等等。
中間的虛線框就是特徵選擇過程,例如:ID3使用信息增益、C4.5使用信息增益率、CART使用GINI系數。
其中評價指標(如:信息增益)就是對特徵的要求,特徵需要滿足這種條件(一般是某個閾值),才能被選擇,而這一選擇過程嵌入在學習演算法中,最終被選擇的特徵子集也歸到學習演算法中去。
這就是抽象的決策樹生成過程,不論哪種演算法都是將這一抽象過程的具體化。
其具體演算法我將留在下一篇文章來講解。
而決策樹的剪枝,其實用得不是很多,因為很多情況下隨機森林能解決決策樹帶來的過擬合問題,因此在這里也不講了。
決策樹的優化主要也是圍繞決策樹生成過程的三個步驟來進行優化的。
樹型結構,可想而知,演算法效率決定於樹的深度,優化這方面主要從特徵選擇方向上優化。
提高分類性能是最重要的優化目標,其主要也是特徵選擇。
面對過擬合問題,一般使用剪枝來優化,如:李國和基於決策樹生成及剪枝的數據集優化及其應用。
同時,決策樹有很多不足,如:多值偏向、計算效率低下、對數據空缺較為敏感等,這方面的優化也有很多,大部分也是特徵選擇方向,如:陳沛玲使用粗糙集進行特徵降維。
由此,決策樹的優化方向大多都是特徵選擇方向,像ID3、C4.5、CART都是基於特徵選擇進行優化。
參考文獻
統計學習方法-李航
特徵選擇方法綜述-李郅琴
決策樹分類演算法優化研究_陳沛玲
基於決策樹生成及剪枝的數據集優化及其應用-李國和
『貳』 數學建模演算法總結
無總結反省則無進步
寫這篇文章,一是為了總結之前為了准備美賽而學的演算法,而是將演算法羅列並有幾句話解釋方便以後自己需要時來查找。
數學建模問題總共分為四類:
1. 分類問題 2. 優化問題 3. 評價問題 4. 預測問題
我所寫的都是基於數學建模演算法與應用這本書
一 優化問題
線性規劃與非線性規劃方法是最基本經典的:目標函數與約束函數的思想
現代優化演算法:禁忌搜索;模擬退火;遺傳演算法;人工神經網路
模擬退火演算法:
簡介:材料統計力學的研究成果。統計力學表明材料中不同結構對應於粒子的不同能量水平。在高溫條件下,粒子的能量較高,可以自由運動和重新排列。在低溫條件下,粒子能量較低。如果從高溫開始,非常緩慢地降溫(此過程稱為退火),粒子就可以在每個溫度下達到熱平衡。當系統完全被冷卻時,最終形成處於低能狀態的晶體。
思想可用於數學問題的解決 在尋找解的過程中,每一次以一種方法變換新解,再用退火過程的思想,以概率接受該狀態(新解) 退火過程:概率轉化,概率為自然底數的能量/KT次方
遺傳演算法: 遺傳演算法是一種基於自然選擇原理和自然遺傳機制的搜索演算法。模擬自然界中的生命進化機制,在人工系統中實現特定目標的優化。
遺傳演算法的實質是通過群體搜索技術(?),根據適者生存的原則逐代進化,最終得到最優解或准最優解。
具體實現過程(P329~331)
* 編碼
* 確定適應度函數(即目標函數)
* 確定進化參數:群體規模M,交叉概率Pc,變異概率Pm,進化終止條件
* 編碼
* 確定初始種群,使用經典的改良圈演算法
* 目標函數
* 交叉操作
* 變異操作
* 選擇
改良的遺傳演算法
兩點改進 :交叉操作變為了以「門當戶對」原則配對,以混亂序列確定較差點位置 變異操作從交叉操作中分離出來
二 分類問題(以及一些多元分析方法)
* 支持向量機SVM
* 聚類分析
* 主成分分析
* 判別分析
* 典型相關分析
支持向量機SVM: 主要思想:找到一個超平面,使得它能夠盡可能多地將兩類數據點正確分開,同時使分開的兩類數據點距離分類面最遠
聚類分析(極其經典的一種演算法): 對樣本進行分類稱為Q型聚類分析 對指標進行分類稱為R型聚類分析
基礎:樣品相似度的度量——數量化,距離——如閔氏距離
主成分分析法: 其主要目的是希望用較少的變數去解釋原來資料中的大部分變異,將掌握的許多相關性很高的變數轉化成彼此相互獨立或不相關的變數。通常是選出比原始變數個數少,能解釋大部分資料中的變異的幾個新變數,及主成分。實質是一種降維方法
判別分析: 是根據所研究的個體的觀測指標來推斷個體所屬類型的一種統計方法。判別准則在某種意義下是最優的,如錯判概率最小或錯判損失最小。這一方法像是分類方法統稱。 如距離判別,貝葉斯判別和FISHER判別
典型相關分析: 研究兩組變數的相關關系 相對於計算全部相關系數,採用類似主成分的思想,分別找出兩組變數的各自的某個線性組合,討論線性組合之間的相關關系
三 評價與決策問題
評價方法分為兩大類,區別在於確定權重上:一類是主觀賦權:綜合資訊評價定權;另一類為客觀賦權:根據各指標相關關系或各指標值變異程度來確定權數
* 理想解法
* 模糊綜合評判法
* 數據包絡分析法
* 灰色關聯分析法
* 主成分分析法(略)
* 秩和比綜合評價法 理想解法
思想:與最優解(理想解)的距離作為評價樣本的標准
模糊綜合評判法 用於人事考核這類模糊性問題上。有多層次模糊綜合評判法。
數據包絡分析法 是評價具有多指標輸入和多指標輸出系統的較為有效的方法。是以相對效率為概念基礎的。
灰色關聯分析法 思想:計算所有待評價對象與理想對象的灰色加權關聯度,與TOPSIS方法類似
主成分分析法(略)
秩和比綜合評價法 樣本秩的概念: 效益型指標從小到大排序的排名 成本型指標從大到小排序的排名 再計算秩和比,最後統計回歸
四 預測問題
* 微分方程模型
* 灰色預測模型
* 馬爾科夫預測
* 時間序列(略)
* 插值與擬合(略)
* 神經網路
微分方程模型 Lanchester戰爭預測模型。。
灰色預測模型 主要特點:使用的不是原始數據序列,而是生成的數據序列 優點:不需要很多數據·,能利用微分方程來充分挖掘系統的本質,精度高。能將無規律的原始數據進行生成得到規律性較強的生成序列。 缺點:只適用於中短期預測,只適合指數增長的預測
馬爾科夫預測 某一系統未來時刻情況只與現在狀態有關,與過去無關。
馬爾科夫鏈
時齊性的馬爾科夫鏈
時間序列(略)
插值與擬合(略)
神經網路(略)
『叄』 演算法與程序設計論文3000字
1、論點(證明什麼)論點應該是作者看法的完整表述,在形式上是個完整的簡潔明確的句子。從全文看,它必能統攝全文。表述形式往往是個表示肯定或否定的判斷句,是明確的表態性的句子。
A.把握文章的論點。 中心論點只有一個(統率分論點)⑴明確:分論點可以有N個(補充和證明中心論點)
⑵方法①從位置上找:如標題、開篇、中間、結尾。②分析文章的論據。(可用於檢驗預想的論點是否恰當)③摘錄法(只有分論點,而無中心論點)
B.分析論點是怎樣提出的:①擺事實講道理後歸結論點;②開門見山,提出中心論點;③針對生活中存在的現象,提出論題,通過分析論述,歸結出中心論點;④敘述作者的一段經歷後,歸結出中心論點;⑤作者從故事中提出問題,然後一步步分析推論,最後得出結論,提出中心論點。
2、論據(用什麼證明)⑴論據的類型:①事實論據(舉例後要總結,概述論據要緊扣論點);②道理論據(引用名言要分析)。
⑵論據要真實、可靠,典型(學科、國別、古今等)。⑶次序安排(照應論點);⑷判斷論據能否證明論點;⑸補充論據(要能證明論點)。
3、論證(怎樣證明)
⑴論證方法 (須為四個字)①舉例論證(例證法)事實論據記敘②道理論證(引證法和說理)道理論據 議論
③對比論證(其本身也可以是舉例論證和道理論證)④比喻論證 比喻在說明文中為打比方,散文中為比喻。
⑵分析論證過程:①論點是怎樣提出的;②論點是怎樣被證明的(用了哪些道理和事實,是否有正反兩面的分析說理);③聯系全文的結構,是否有總結。
⑶論證的完整性(答:使論證更加全面完整,避免產生誤解)
⑷分析論證的作用:證明該段的論點。
4、議論文的結構⑴一般形式:①引論(提出問題)―――②本論(分析問題)―――③結論(解決問題)。
⑵類型:①並列式②總分總式③總分式④分總式⑤遞進式。
6、駁論文的閱讀
⑴作者要批駁的錯誤觀點是什麼?
⑵作者是怎樣進行批駁的,用了哪些道理和論據;
⑶由此,作者樹立的正確的觀點是什麼?