數據挖掘-理論與算法 公開課筆記
製作:紀元
本提綱遵循CC-BY-NC-SA協議
(署名-非商業性-相同方式共享)文章目錄
- 10.2.1.1 Data Cleaning 數據清洗
- 11.2.2.1 Outliers & Duplicate detection 異常值與重複檢測
- 12.2.3.1 Type conversion & sampling 類型轉換與採樣
- 14.5.2.1 Feature Selection 特徵選擇
- 15.2.6.1 Feature Extraction 特徵提取
- 16.2.7.1 The Issue of PCA PCA存在的問題以及解決
- 16.2.7.2 LDA Example 線性判別分析例
- 19.3.1.1 Bayes、Decision Tree 貝葉斯、決策樹(概率基礎)
- 20.3.2.1 Naive Bayes Classifier 樸素貝葉斯公式
- 21.3.3.1 Decision Tree 決策樹
- 22.3.4.1 Decision Tree Framework 決策樹的建立策略
- 24.4.1.1 Perceptrons 感知機
- 25.4.2.1 感知機的應用
- 26.4.3.1 Multilayer Perception 多層感知機神經網絡
- 27.4.4.1 分類器學習算法
- 28.4.5.1 Beyond BP Networks 其他的神經網絡算法
- 30.5.1.1 Support Vector Machine(SVM) 支持向量機
- 31.5.2.1 Linear SVM 線性SVM
- 32.5.3.1 Non-linear SVM 非線性SVM
- 33.5.4.1 SVM Roadmap SVM發展歷史
- 34.5.5.1 Clustering 聚類
- 36.6.2.1 Clustering Algorithm聚類算法
- 37.6.3.1 EM Method 期望最大法
- 38.6.4.1 Density/Hierarchical Based Methods 密度與層次
- 39.7.1.1 Assocation Role 關聯規則
- 40.7.2.1 Support&Confidence of Association Role 支持度 置信度
- 41.7.3.1 About Assocation Role 關聯規則的誤區
- 42.7.4.1 Apriori Method Apriori算法
- 44.7.6.1 Sequential Pattern 序列模式
- 46.8.1.1 Recommend Algorithm 推薦算法
- 47.8.2.1 Text Analysis 文本分析
- 48.8.3.1 PageRank 網頁評分
- 49.8.4.1 Collaborative Filtering 協同過濾
- 51.9.1.1 Ensemble Learning (1) 集成學習(1)
- 52.9.2.1 Ensemble Learning (2) 集成學習(2)
- 53.9.3.1 Ensemble Learning (3) 集成學習(3)
- 56.10.1.1 Evolutionary Algorithms 進化算法
- 57.10.2.1 Objective Function 目標函數
- 59.10.4.1 Genetic Algorithm(1) 遺傳算法-初探(1)
- 60.10.5.1 Genetic Algorithm(2) 遺傳算法-框架(2)
- 60.10.5.1 Genetic Algorithm(3) 遺傳算法-可能性(3)
- 62.10.6.1 Genetic Algorithm(4) 遺傳算法-遺傳程序(4)
- 63.10.7.1 Genetic Algorithm(5) 遺傳算法-遺傳硬件(5)
10.2.1.1 Data Cleaning 數據清洗
數據在獲得時可能並不可用,缺數據,數據錯誤,噪音等問題都會導致程序無法運行。因此在處理之前要進行清洗等操作
對於缺失少量的數據,可以進行適當的推測,或者規則界定,或者直接填均值,這個方向主要由經驗主導。
離羣點和異常點是有區別的,要謹慎的區分兩者。
11.2.2.1 Outliers & Duplicate detection 異常值與重複檢測
異常是相對的,在計算異常值時要考慮相對性,可以嘗試與近鄰值相比較。
相同的信息可以用不同的形式來表示。而計算機可能無法識別這些重複。
我們可以嘗試使用滑動窗口,將某數據與部分之前的數據進行比(前提是相似的數據是緊鄰的)
12.2.3.1 Type conversion & sampling 類型轉換與採樣
數據有很多形式,在編碼時需要選擇合適的方式進行處理,才能進行數據挖掘。
在編碼時,編碼不同方式對問題結構和挖掘結果都會產生影響。
採樣:數據並不是都需要的,而且IO操作對數據庫並不友好,我們可以根據需要可以進行適當的採樣,能有效的降低數據量,加快處理速度。
不平衡的數據集對挖掘結果也會有影響,在採樣時也需要謹慎選擇(可以嘗試“複製”一些較少點加入數據集)。
在做分類的情況下,當數據過多時,也可以嘗試識別出邊緣點並進行加入數實驗據集,可以有效地降低實驗時的數據量。
14.5.2.1 Feature Selection 特徵選擇
在做數據挖掘的時候,要在多個屬性中進行挑選,否則會影響算法的效率與資源的消耗,所以屬性分好壞
熵-(Entropy):在數據挖掘中,代表變量/系統的不確定性。
- 此處b一般取2,但也可以爲其他值,取2時單位爲比特
信息增益-(information gain):在數據挖掘中代表屬性的價值
- 即增加屬性前後熵的差值
屬性組的優劣並不是單純的單個屬性好壞的疊加,因爲屬性間可能有影響或者關聯。
搜索最優屬性-(Subset Seach):爲了在衆多屬性中挑選最優的屬性組,會有衆多的排列組合,所以需要通過適當的算法。
Branch and Bound:尋找最優的屬性組。建立屬性樹,如有單調的情況,可以通過剪枝方法加速。啓發式、模擬退火等算法同樣適用
15.2.6.1 Feature Extraction 特徵提取
引例:照片把三維信息壓縮(投影)爲二維,信息損失很多,人們通過照片的特徵,依舊可以識別照片中的物體。
不同的屬性有不同的區分度,越重要的屬性越能區分物體,更少產生重複。所以屬性有好壞
此圖(理想情況下)中屬性劣於屬性(不能更好的區分數據點)我們將數據點向x軸投影,丟失的就是y軸方向的信息
主成分分析技術-PCA(principle components analysis):把座標平面的點向座標軸投影,相當於降維,投影方向(相當於屬性)有好壞。最優情況爲最大特徵向量。
數學工具:拉格朗日數乘法
實際情況下,數據的屬性往往有聯繫,此時要將圖像移動、並旋轉到理想情況。
16.2.7.1 The Issue of PCA PCA存在的問題以及解決
PCA是一種無監督學習,雖然可以進行降維,但是在分類時,PCA可能無法進行合理的投影方向選擇,導致無法進行分類。
舉例:如果向1軸投影,可以明顯區分兩個數據集,但是PCA會向2軸投影,導致兩個數據在低維混合,看不出分類。
線性判別分析-LDA(Liner Discriminant Analysis):相對PCA,LDA在投影的同時保留類的區分信息(指相同組中數據儘可能近,不同組中數據儘可能遠)
費舍爾準則-(Fisher Criterion):用於評估投影效果好壞(整體上越大越好)
- 其中爲組中心點位置(越遠越好),爲各組離散程度(越小越好)
16.2.7.2 LDA Example 線性判別分析例
LDA不僅僅侷限於二分類,可以容易的拓展到類的情況,此時的分子爲各個組中心點離所有點中心點的距離。此時分類最高可以投影到維上
在一些特殊情況下(兩類比較近或者兩個分類維互相垂直),LDA的分類可能不如PCA,在使用時要謹慎分析。
19.3.1.1 Bayes、Decision Tree 貝葉斯、決策樹(概率基礎)
分類是一種有監督學習,會有標籤,這也是分類與聚類的差別。
數學工具:貝葉斯公式
20.3.2.1 Naive Bayes Classifier 樸素貝葉斯公式
注意區分:先驗後驗、相關獨立
拉普拉斯平滑-(Laplace Smoothing):如果出現數據庫中從未存儲的特殊點,一項爲0會導致整個概率公式值爲0。
- (加1導致不會爲0)
貝葉斯公式的實際應用:
我們可以提取文章中的部分單詞,根據出現與否計算文章分類概率,但是這種情況會導致計算量非常大。改進 詞袋模型-(Word Bag),根據單詞在文章中出現的頻率來計算文章分類概率。
21.3.3.1 Decision Tree 決策樹
將不同因素設定規則,分層計算,形成決策樹。決策樹是可解釋的(if…then…),是決策樹的一大優勢
根據判斷順序不同,一個數據集可以建立很多樹。運用奧卡姆剃刀,我們可以選擇同樣分類效率下,儘量簡單的決策樹,
22.3.4.1 Decision Tree Framework 決策樹的建立策略
此章有拓展資料
把分類能力強的節點放在靠近根節點的情況可以大大縮小樹的規模,於是決策樹的建立與屬性判斷有關
熵-(Entropy):在變量選擇中,代表屬性的不確定性。最大值爲1,此時最不確定。最小值爲0,此時最確定。
- 此處b一般取2,但也可以爲其他值,取2時單位爲比特
過學習-(Overfitting):在訓練集中a比b效果好,但在測試集中b比a好,此時就發生了過學習(通用概念)
決策樹並不是越大越好,也存在過學習(overfitting)的情況。爲避免過學習,有兩種剪枝策略:
- 限制樹的深度
- 進行剪枝(將某些子節點合併到父節點上)
簡單的決策樹 ID3 建立過程:
- 尋找能把數據集分的最開的屬性,進行分割
- 如果子集純,那麼停止分割,如果不純,繼續從1分割(如果沒有屬性,停止分割,標籤少數服從多數)
24.4.1.1 Perceptrons 感知機
神經網絡是計算機程序對大腦中神經元的簡化抽象模擬。
單個神經元開關速度(0,1互換)相對計算機比較慢,但人腦是多個神經元聯合分佈式處理的,處理速度很快。
感知機-(Perceptrons):單個的神經元,n個輸入,n+1個權重(,避免所有點都過原點),輸出0或1
25.4.2.1 感知機的應用
感知機可以理解爲一個線性分類器,對於線性不可分等問題無能爲力
梯度下降法-(Gradient Descent):取權重時不同權重對結果影響不同,所以讓誤差不斷梯度下降
批處理學習-(Batch Learning):計算一批數據,將更改值保存在中,計算完後統一修改
隨機學習-(Stochastic Learning):一旦出現誤差,就修改
26.4.3.1 Multilayer Perception 多層感知機神經網絡
多層感知機通過在輸入和輸出間添加隱層來提升效率
多次感知機解決線性不可分問題:將輸入的線性不可分問題轉化爲線性可分問題,輸出到隱層,由隱層解決並輸出。
27.4.4.1 分類器學習算法
誤差反向傳播算法-BP(Backpropagation Rule):思想類似於感知機,用誤差對某個權重的輸入求偏導。但在多層感知機網絡中,由於隱層的期望值並不知道,所以沒法得知隱層的誤差,因此輸出後根據結果加權反向反饋,修改參數。
在求導時,很容易使參數掉進局部最優點,導致誤差不在下降,而神經網絡恰恰有很多局部最優點。爲了解決這個問題,
- 我們可以嘗試多次從不同點、不同方向出發,尋找最優參數。
- 也可以增加“衝量”,相當於“慣性”,讓參數點衝過一些比較小的局部最優點。
- 也可以嘗試改變學習率,較大的學習率可以直接大踏步跳過一些比較小的局部點,
- 而特殊的學習率會在一些特殊情況產生震盪,左右橫跳導致無法收斂,多次學習也是解決辦法。
同樣,神經網絡也有過學習問題。所以我們既要設置訓練誤差-(Training Error)—–隨時間逐步降低,又要設置校驗誤差-(Validation Error)—–隨時加先降後升。在校驗誤差拐點停止訓練即可。
28.4.5.1 Beyond BP Networks 其他的神經網絡算法
此章有拓展資料
Elman Network:此算法有一定的記憶性,通過之前的輸入推出答案,輸出不僅僅取決於當前的輸入,還取決於之前的輸入。
Hopfield Network:是一個全連接神經網絡。類似於人大腦的記憶功能,利用收斂到局部最小值,實現聯想記憶。
同樣,不存在萬能的神經網絡,每個網絡算法都有自己的適應性,而且神經網絡的訓練時間很長,但訓練完成後反應很快。
神經網絡的可解釋性很差(只有權重)
30.5.1.1 Support Vector Machine(SVM) 支持向量機
原理:輸入維度向高維映射並進行分類(升維),仍然是線性分類器的一種,真正有效的點只有support vector。
邊緣-(margin):訓練集中分界面可以上下平移的區域,margin越大,錯誤越不會影響結果,參數越好。
支持點-(Support Vectors):導致平移邊界的點,決定了分界面能移動的範圍。
31.5.2.1 Linear SVM 線性SVM
目標:先分樣本(必須分對所有的點),再求最優值
數學工具:拉格朗日乘數法
但事實上很難完美的分對所有點,所以放寬條件(soft margin),允許少數點可以不滿足約束條件。
本質上還是一個線性分類器,仍然無法解決線性不可分問題。(soft margin只能解決數據有噪點的情況)
32.5.3.1 Non-linear SVM 非線性SVM
目的:彌補線性SVM不能解決線性不可分問題的缺陷
原理:輸入座標點向新座標空間映射並進行分類,可以是升維,也可以是同維度轉化。
映射方法一般是固定的,m維一般升到維進行分類。
通過引入核函數進行等價變換,讓高維空間的計算等價於低維空間的運算,有效降低運算量。
在處理文本數據時,可以使用字符串核函數,處理字符串的子串,得到相應的式子進行分類。
33.5.4.1 SVM Roadmap SVM發展歷史
此章有拓展材料
SVM理論體系的形式不是一蹴而就的,而是經過了不斷地優化改善。
線性分類器-(讓margin最大化)-線性SVM-(解決數據存在噪聲問題)-soft margin-(解決線性不可分問題)-向高維映射-(解決計算複雜度過高問題)-引入核函數
模型能力指數(model capacity):若h個點無論怎麼打標籤,模型都能區分(shatter),那麼該模型能力指數就是h
模型複雜性和風險相關,一般越複雜的模型風險越高。
34.5.5.1 Clustering 聚類
相似性導致聚集,聚類有兩種:分割型聚類(將數據進行分塊),層次型聚類(根據不同層次分塊)
聚類是無監督學習,沒有人打標籤,沒有絕對標準答案。
目的:使不同簇(clusters)之間距離最遠,相同簇最近
數據預處理對聚類影響很大,要謹慎對待。
36.6.2.1 Clustering Algorithm聚類算法
Silhouette:衡量聚類效果的參數,一般在[0,1)間,也存在少數負數
K-Means算法:
- 要分n塊,則隨機選n個種子點(模型參數)
- 根據n個點將數據域劃分
- 計算數據域的中心點,更新爲種子點,循環到1步
優點:對“球形”數據效果好,收斂快(一般5,6步能出結果)
缺點:K值難以不確定,初始點不好可能導致陷入局部最優點,噪點影響大,對“異型數據”適應性不好
最終目的:求出把數據域分成n塊的n箇中心點(參數)
Sequential Leader Clustering算法:
可以應對數據流進行聚類,且不需要迭代,一遍過,且不需要確定K。
進來的數據,根據設定距離極限,直接與現有中心點距離進行比較,大於則自成中心,小於則加入簇中。
對於距離限設定比較敏感,太小則會產生很多簇,太大簇又會過少。
37.6.3.1 EM Method 期望最大法
混合高斯模型-(Gaussian Mixture):用不同高斯分佈進行疊加,每個分佈都有相應權重,權重和爲1。
- 高斯分佈
期望最大化算法-EM:類似於K均值聚類,先隨機生成各參數,再通過不斷迭代進行訓練,調整參數。
38.6.4.1 Density/Hierarchical Based Methods 密度與層次
此章有拓展材料
爲了解決“非規則分佈”數據和“大噪聲”數據的問題,從密度方向解決問題
優點:不需要設定K值或距離極限(雖然還要定義一個距離參數)
DBSCAN算法:通過點與點之間的距離進行聚類,不斷遞歸膨脹,其中距離參數即爲分類的層面,越小的話分類層析越低,越大分類層次越高。
核心點:在一定距離(需要用戶設定)內有足夠的點
邊緣點:在覈心點距離範圍內且不是核心點的點
噪點:既不是核心點也不是邊緣點(需要排除)
Hierarchical Based Methods:算模型中每個點與其他點的距離矩陣,選模型中最近的兩個點合併進一個簇,迭代至只有一個簇結束。
最小距離法:合併後新簇與其他簇的距離,爲兩簇中距離最小的點之間的距離
最大距離法:合併後新簇與其他簇的距離,爲兩簇中距離最大的點之間的距離
39.7.1.1 Assocation Role 關聯規則
目的:在龐大的元素庫中找出元素之間的關聯關係
這個規則主要應用在商品的推銷上(啤酒與尿布)
還可以延伸用於文字分析,把單個單詞看做元素,對每篇文章分析即可得出單詞之間的關聯關係
40.7.2.1 Support&Confidence of Association Role 支持度 置信度
支持度在關聯規則分析中就是頻率()
置信度爲在某元素出現的情況下關聯發生的概率()即條件概率
注意規則順序,順序相反分母會變化,Confidence也會變化
在大元素集中,組合的數量會快速增加,同時記錄也是海量的,一條一條驗證顯然不可行。·
宏觀處理:
- 設置一個支持度、置信度的一個限值
- 把所有頻繁的組合找出來
- 生成頻繁組合的所有非空子集,並寫出所有可能的子集關聯規則
- 計算所有子集關聯規則的支持度與置信度
- 比較子集的支持度、置信度與設定的限值,若超過則認爲關聯性強
41.7.3.1 About Assocation Role 關聯規則的誤區
規則的關聯性很強並不一定代表該規則有意義(當兩個元素頻率差別特別大時尤爲明顯)
關聯規則就是一個條件概率,兩件事物相關,並不一定他們之間有代表因果關係,不應做過多解釋。
42.7.4.1 Apriori Method Apriori算法
元素因爲排列組合,所有可能的非空關聯的數量非常龐大,不能用傳統方法解決。
原理:
- 任何一個頻繁項的子集必須頻繁
- 如果某個規則不頻繁,那麼他的超集必須不頻繁
相當於一個剪枝算法
具體步驟:
- 生成某個特定大小的頻繁集(一般爲1)
- 對頻繁集進行組合,並刪除頻繁集
- 迭代運行1,2
核心思想:儘量避免生成不頻繁集
缺點:本算法需要頻繁掃描數據庫,而這種操作在大型數據庫中成本較高
44.7.6.1 Sequential Pattern 序列模式
此章有拓展材料
在一般的記錄中,不包含記錄產生的時間或者購買人,那麼對於序列先後或間隔的分析就無法進行。
目的:分析某事發生後,另一件事就有可能發生
我們將序列按先後時間排序,若某 元素順序 持續在序列集中出現,那麼該 元素順序 就是一個序列(不一定要直接連續,允許有間隔)
方法:先找短序列,不斷連接變爲長序列,並檢驗是否頻繁即可。
46.8.1.1 Recommend Algorithm 推薦算法
應用:精準廣告營銷、協同推薦、音樂推薦
47.8.2.1 Text Analysis 文本分析
Tf-idf:輸入關鍵詞,量化該詞與數據庫詞中的關聯情況
關鍵詞頻率-TF(Term Frequency):關鍵詞的頻率
逆文檔頻率-(Inverse Document Frequency):該單詞在其他文檔中的頻率(作用:過濾諸如“the”“a”之類的詞)
單詞-文本矩陣-(Term-Document matrix):在文本處理時,將單詞和多個文本的tf-idf值組成矩陣並進行計算
-
()
-
()
-
在計算機處理文檔時,一般將文章處理爲向量並進行計算夾角。
在文檔處理時,近義詞(Synonymy)、多義詞(Polysemy)的存在會干擾文檔處理。
隱含語義分析-LSA(Later Semantic Analysis):將矩陣放進新的空間而不是原空間進行分析
- S:對角陣
- 將分解爲
- 選擇幾個信息量最大的維度並進行降維
- 將降維後矩陣乘回去並畫圖
- 對新得的圖進行聚類
48.8.3.1 PageRank 網頁評分
頁面評分-(PageRank):網頁可以被看爲互相有鏈接的文檔,其PageRank值越高代表網頁越好。
指向某網頁的鏈接越多、指向來源的PR值越高、指向來源的指向鏈接越少,某網頁質量越高。
- 即:之和
- 即:t+1秒時網站的PR值,是一個迭代值,最終收斂爲定值
- d-阻尼參數(damping factor):固定參數,一般取0.85
- 是讓所有時間所有網頁PR值和爲1
49.8.4.1 Collaborative Filtering 協同過濾
核心思想:收集興趣相似的用戶的打分信息,並製作打分矩陣,表示並推測每個人對每個商品的喜愛程度。
既可以在用戶間計算關聯,也可以在商品之間計算關聯,也可以建立模型進行計算,在不同情況下采用的算法也不一樣。
可能影響算法的因素:
- 灰羊效應:即介於黑白之間的情況
- 冷啓動:用戶新來平臺,沒有數據,如何推薦
- 網絡水軍的故意攻擊
- 用戶的打分習慣(有人習慣打高分,有人習慣打低分,因此要與平均分進行計算)
51.9.1.1 Ensemble Learning (1) 集成學習(1)
核心思想:有策略的集中不同類型的分類器,根據綜合結果得出結論。
也可以對模型進行拆分,將複雜的問題拆成簡單的問題來解決。本質上是分類器的實用策略
52.9.2.1 Ensemble Learning (2) 集成學習(2)
在集成學習中,集中策略可以使用“少數服從多數”或“權重”來決定最終決策走向,且不用擔心過學習問題。
爲了保證各個分類器結論相似而不同,可以使用不同部分的數據集來訓練每個分類器。
引導聚集算法-Bagging(Bootstrap Aggregating):
- 將數據集用bootstrap法採樣爲若干子數據集
- 在子數據集上訓練分類器
- 用這些分類器處理數據,根據結果“少數服從多數”得出答案
未選入子數據集的數據(OOB-Out Of Bag,大約)可以用來檢驗。
53.9.3.1 Ensemble Learning (3) 集成學習(3)
每個分類器分類效果不同,每個數據集容易被分對的可能性也不同,他們所佔的權重也不應該相同,這裏的權重也可以學習。
Stacking算法(並行):在原始的分類器(學習輸出結果)輸出基礎上,再過一層分類器(學習各個分類器的權重),從而得出最終結果。可以視爲Bagging的升級版。
Boosting算法(串行):先訓練一個分類器,對於分對的和分錯的分開劃分數據集,針對正誤數據集進行繼續訓練(相當於對訓練集加權重,越多分類器分錯,該數據集權重越大)
56.10.1.1 Evolutionary Algorithms 進化算法
進化算法的目的:
- 優化(廣義的)
- 進行模擬,幫助人類理解自然的進化
特點:
- 基於數量的
- 有隨機性
- 並行(不易局部最優)
- 適者生存
- 不侷限於某種特定問題,可能是普適的
- ……
57.10.2.1 Objective Function 目標函數
機器學習算法本質還是優化問題,只不過有難有易。
現實中的大部分問題都是複雜的,很難直接暴力解決,必須要進行優化。
59.10.4.1 Genetic Algorithm(1) 遺傳算法-初探(1)
遺傳算法是鬆散的基於達爾文進化論,並不是完全相同的。
遺傳算法的幾部分:表示(二進制還是格雷碼等)、遺傳、選擇、變異、表達(向量)
格雷碼與二進制的區別:系統在每一次變化時,碼值只會變化一位,更加穩定。
在設置權重的時候,可以用原始值比例確定,也可以用序號確定(防止過於優秀的個體佔據了過大概率)
在選擇時,可以兩兩PK選擇,可以精英選擇(防止突變導致的結果不穩定),可以用百分率選擇
60.10.5.1 Genetic Algorithm(2) 遺傳算法-框架(2)
雜交:嘗試生成更多的可能
- 一點雜交:只選擇一個點,將點後的段交換
- n點雜交:選擇n個點,在點與點之間的片段進行交換
變異:保證多元基因的存在,防止收斂到只有一個物種(變異率不應太高)
選擇:給更適應的個體更大概率
基本框架(兩層循環):
- 生成種羣
- 代際循環
3. 代內循環
60.10.5.1 Genetic Algorithm(3) 遺傳算法-可能性(3)
遺傳算法在維度過大時複雜度會比較高,要進行適當的選擇。
遺傳算法在分類和聚類中均可以應用,
Pareto Front:在多目標優化的情況下,基於不同的評判角度無法選擇最優點,此時交給用戶選擇。
62.10.6.1 Genetic Algorithm(4) 遺傳算法-遺傳程序(4)
**遺傳算法-(Genetic Algorithm)與遺傳程序-(Genetic Program)**的區別:遺傳算法輸出的是模型參數,遺傳程序輸出的則是一段計算機程序
遺傳程序將計算式表示爲樹,針對樹進行雜交進行優化,一模一樣的樹在雜交後也能產生新樹。
評判方式:用積分計算目標值與當前值之間差異部分的面積,面積大則擬合性不好。
63.10.7.1 Genetic Algorithm(5) 遺傳算法-遺傳硬件(5)
可計劃電路-(Evolvable Circuits):硬件的線路可以變化並改變結構,實現原先沒有的功能。
用途:
- 芯片在遇到設計時未想到的情況時,能自行修整並應對環境。
- 設計天線形狀達到最優性能
- 汽車的外形設計
- ”人工生命“
- 程序繪畫、譜曲
困難的地方:對於運行結果的評價是難以量化並打分的,可能需要人類的評判