【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )
文章目錄
- 一、 數據挖掘算法組件化
- 二、 組件一 : 模型或模式結構
- 三、 組件二 : 數據挖掘任務
- 四、 組件三 : 評分函數
- 五、 組件四 : 搜索和優化算法
- 六、 組件五 : 數據管理策略
- 七、 數據挖掘算法 組件化思想應用
一、 數據挖掘算法組件化
1 . 數據挖掘算法現狀 : 目前數據挖掘領域算法很多 , 并且每年都會有有大量算法提出 ;
2 . 數據挖掘算法本質 : 但其本質都是類似的 , 新推出算法在原來的算法的基礎上進行優化改進 , 形成了目前的大量算法種類 ;
3 . 組件化學習應用 : 通過組件化思想來理解數據挖掘算法 , 將算法模塊化 , 不同模塊的排列組合就形成了不同種類的算法 , 因此核心就是學習這些算法的模塊組件 ;
① 組件原理 : 每種組件的原理基本相同 , 掌握一種組件原理后 , 學習另一種組件就比較輕松 ;
② 組件角度 : 從組件角度對比不同的算法 , 更容易看出算法之間的差異 ;
4 . 數據挖掘算法的五個標準組件 :
- ① 模型或模式結構 : 決策樹模型 , ( 信念 ) 貝葉斯模型 , 神經網絡模型 等 ;
- ② 數據挖掘任務 : 概念描述 , 關聯分析 , 分類 , 聚類 , 異常檢測 , 趨勢分析 等 ;
- ③ 評分函數 : 誤差平方和 , 最大似然 , 準確率 等 ;
- ④ 搜索和優化方法 : 隨機梯度下降 ;
- ⑤ 數據管理策略 : 數據存儲 , 數據庫相關 ;
二、 組件一 : 模型或模式結構
1 . 模型或模式結構 : 通過 數據挖掘過程 得到知識 ; 是算法的輸出格式 , 使用 模型 / 模式 將其表達出來, 如 : 線性回歸模型 , 層次聚類模型 , 頻繁序列模式 等 ;
2 . 模型 或 模式 表達 : 模型或模式表達方式各種各樣 , 如公式 , 數據等 ;
① 線性回歸模型 : 是一個數學公式 y=ax+by = ax + by=ax+b ;
② 層次聚類模型 : 是一個樹狀結構的數據 ;
3 . 模型 ( 全局 ) :
① 模型概念 : 模型是在 全局層次 對 整個數據集 的 描述或總結 ;
② 模型適用范圍 : 模型適用于數據集中的所有對象 ;
③ 抽象描述 : 模型本質是對現實世界進行的抽象描述 ;
④ 模型舉例 : 數學公式 y=ax+by = ax + by=ax+b , 只要給出 xxx 值 , 就必定有一個 yyy 值與之對應 , 沒有特例 , 所有的 xxx 都適用于該模型 ;
4 . 模式 ( 局部 ) :
① 模式概念 : 模式是在 局部范圍 對 部分數據 的 描述 ;
② 模式適用范圍 : 局部適用 , 僅對小部分數據描述有效 ;
③ 模式內容 : 模式中只能描述部分對象 , 或對象的部分屬性 , 并不能描述全部對象 以及 全部屬性 ;
④ 模式舉例 : 部分關聯 , 如部分顧客購買啤酒時 , 也買了尿布 , 該信息局部有效 , 并沒有對全局數據進行總結 ;
5 . 模型 與 模式 聯系 : 全局的模型 和 局部的模式 是相互聯系的 ; 模型與模式聯系的示例 , 如下異常檢測示例 :
① 需求 : 異常檢測中 , 想要檢測出 異常數據 , 就必須先知道 什么是正常數據 ;
② 描述 : 這里的對正常數據的描述就是 全局模型 , 異常數據描述 就是 局部模式 ;
6 . 模型 和 模式 參數 : 模型 , 模式 都與參數相關 ,
① 模型參數 : 如 數學公式 y=ax+by = ax + by=ax+b 中 , aaa 和 bbb 就是模型的參數 ;
② 模式參數 : 如 : 如果 x>ax > ax>a , 則 y>by>by>b 的概率是 ccc , 其中 a,b,ca, b, ca,b,c 就是模式的參數 ;
7 . 不確定的模型 ( 模式 ) : 不確定的模式 或 模式 叫 結構 ;
① 模型結構 : 參數不確定的模型是模型結構 ;
② 模式結構 : 參數不確定的模式是模式結構 ;
8 . 擬合的模型 ( 模式 ) :
① 參數確定 : 如果 模型 或 模式 參數確定 , 那么該模型稱為 已經擬合的模型 ( 模式 ) , 可以簡稱為 模型 ( 模式 ) ;
② 總結 : 不確定的模型叫做 模型結構 , 確定的 模型 或 模式 直接稱為 模型 ( 模式 ) ;
三、 組件二 : 數據挖掘任務
1 . 數據挖掘任務分類 : 根據數據挖掘的目標 , 可以將數據挖掘任務分為以下幾類 : ① 模式挖掘 , ② 描述建模 , ③ 預測建模 ;
① 模式挖掘 : 如 異常模式 , 頻繁模式 ;
② 描述建模 : 如 聚類分析 ;
③ 預測建模 : 如 分類預測 , 趨勢分析等 ;
2 . 模型挖掘與模式挖掘 : 描述建模 和 預測建模 可以看做是 模型挖掘 , 與 模式挖掘 對應 ;
3 . 模式挖掘 : 從數據集中尋找特定的模式 , 如 異常模式 . 頻繁模式 等類型的模式 ;
4 . 頻繁模式 : 在某個數據集中 , 頻繁出現的模式 ;
① 模式類型 : 某個數據 , 子數據集 , 項集 , 子序列 , 子圖 等結構 ;
② 頻繁的項集 : 如交易數據中 , 啤酒和尿布經常出現在一起 , 牛奶和面包經常出現在一起 , 稱為頻繁項集 ;
③ 頻繁的子序列 : 消費者購買電腦后會購買打印機 , 然后購買打印紙 , 電腦 打印機 打印紙 就是頻繁子序列 ;
④ 頻繁的子結構 : 在圖結構數據中頻繁出現子圖 , 樹結構數據中頻繁出現子樹 , 被稱為頻繁子樹 ;
5 . 預測建模 : 先根據現有數據建立模型 , 然后根據該模型預測未來的數據 ; ( 先建模 , 再預測 )
① 分類 : 被預測的數據類型是 范疇型的 , 數據種類有限 ; 如 : 結果 好 , 壞 兩種 ; 病情 : 良好 , 恢復 , 惡化 三種 ;
② 回歸 : 被預測的數據類型是 數值型的 , 如 電影票房 , 國家 GDP , 是一個數值型的 ;
6 . 分類模型 與 回歸模型 :
① 分類模型 : 又叫 分類函數 , 分類器 ;
② 分類模型應用 : 信用等級評價 , 治療疾病的診斷 等 ;
③ 有監督學習 : 分類過程中 , 使用了訓練集進行訓練學習 , 這是一個有監督的學習過程 ;
④ 回歸模型 : 一般用于 性能評估 , 概率評估 等領域 ;
7 . 描述建模 : 描述數據的全局性特征 ;
① 描述建模 與 預測建模區別 : 變量個數不同 , 預測建模預測的變量是 1 個 , 如個人信用等級 , 疾病病情等級 等 ; 描述建模描述多個變量 ;
② 描述建模示例 : 聚類分析 ;
8 . 分類 與 聚類 對比 :
① 分類 : 數據有 n 個變量 , 已知 n - 1 個變量 ; 目標是預測未知的那個變量的值 ; 預測建模的本質是找到 n - 1 個變量 與 最后一個變量的模型 ; 根據一條數據的 n - 1 個變量 , 得出其最后一個變量值 ;
② 聚類 : 數據有 n 個變量 , 所有的變量都是已知的 ; 如果某幾個數據的某幾個變量相似 , 那么將這幾個數據分成一組 , 目標是分組 ; 根據多條數據的 n 個變量 , 將多條數據進行分組 ;
四、 組件三 : 評分函數
1 . 參數不確定 : 參數不確定的 模型 ( 模式 ) 叫做 模型 ( 模式 ) 的結構 , 即知道結構 , 但不知道具體的 模型 ( 模式 ) ;
2 . 結構擬合數據 : 知道 模型 ( 模式 ) 結構后 , 需要進一步確定結構中的參數值 , 依據就是現有的數據集 , 這個過程就是將結構擬合到數據 ;
3 . 評分函數引入 : 如模型結構 y=ax+by = ax + by=ax+b 中 , aaa 和 bbb 是模型的參數 , 其取值范圍是 (?∞,+∞)(-\infty , +\infty)(?∞,+∞) , 如何評價參數值選取的是否合適 , 需要給出評價標準 , 這個評價標準就是評分函數 ;
4 . 評分函數 :
① 評分函數概念 : 評分函數用于評估 數據集 與 模型 ( 模式 ) 的擬合程度 , 值 越大 ( 越小 ) 越好 ;
② 評分函數作用 : 為 模型 ( 模式 ) 選出最合適的參數值 ;
③ 常用的評分函數 : 似然函數 , 誤差平方和 , 準確率 , 支持度 , 可信度 等 ;
④ 誤差平方和示例 : 模型結構 y=ax+by = ax + by=ax+b , 使用模型預測出的 yyy 值為 y′y'y′ , 真實的值為 yyy , 計算出 單條數據的 誤差平方 (y?y′)2(y - y')^2(y?y′)2 , 將所有數據的 誤差平方 相加 , 就是誤差平方和 ; 這個值越小越好 ;
5 . 評分函數要求 :
① 擬合 : 為 模型 ( 模式 ) 選擇的評分函數 , 能很好的擬合當前已知的數據集 ;
② 避免過擬合 : 評分函數要避免過擬合 , 對極端數據過于敏感 , 這是沒有必要的 ; 如出現極端數據 , 模型劇烈變化 , 模型需要的是穩定 ;
③ 模型簡潔 : 擬合后的模型盡量簡潔 ;
6 . 模型 ( 模式 ) 的特點 :
① 模型 ( 模式 ) 近似性 : 不存在絕對正確的 模型 ( 模式 ) , 所有的 模型 ( 模式 ) 要求近似即可 ;
② 模型 ( 模式 ) 穩定性 : 模型 ( 模式 ) 不隨著數據變化而變化 ; 如出現極端數據 , 模型劇烈變化 ; 模型 ( 模式 ) 要做到對數據的微笑變化不敏感 ;
五、 組件四 : 搜索和優化算法
1 . 評分函數作用 : 衡量 模型 ( 模式 ) 與已知數據集的 擬合程度 ;
2 . 搜索和優化算法作用 : 確定 模型 ( 模式 ) 以及其相關的 參數值 , 該模型 ( 模式 ) 使評分函數 達到某個最大 ( 最小 ) 值 ; 本質是幫助評分函數取得 最大 ( 最小 ) 值的方法 ;
3 . 搜索問題 和 優化問題 :
① 結構確定求參數 ( 優化問題 ) : 模型 ( 模式 ) 結構確定后 , 目的就是為了確定參數值 , 針對固定的 模式 ( 模型 ) 結構 , 確定一組參數值 , 使評分函數最優 , 這是優化問題 ;
② 結構不確定 ( 搜索問題 ) : 搜索 既需要確定 模型 ( 模式 ) 的結構 , 又需要確定其參數值 , 這種類型是搜索問題 ;
③ 搜索和優化對比 : 模型 ( 模式 ) 結構確定 , 獲取其最優參數是優化問題 ; 模型 ( 模式 ) 結構不確定 , 是搜索問題 ;
4 . 常用的優化和搜索方法 :
① 優化方法 : 爬山算法 , 最陡峭下降 , 期望最大化方法 , 隨機梯度下降 ;
② 搜索方法 : 貪婪搜索 , 分支界定法 , 寬度 / 深度 優先遍歷方法 ; 其中貪婪搜索方法每一步都是當前最優結果 , 全局不一定是最優的 ;
六、 組件五 : 數據管理策略
1 . 傳統數據與大數據 :
① 傳統數據 : 傳統的數據管理方法是將數據都放入內存中 , 少量數據 , 直接在內存中處理 , 不需要特別關注數據管理技術 ;
② 大數據 : 數據挖掘中的數據一般是 GB , TB 甚至 PB 級別的大數據 , 如果使用傳統的內存算法處理這些數據 , 性能會很低 ;
2 . 海量數據管理 : 目的是提高數據挖掘算法的性能 , 減少數據的訪問次數 , 通過采樣 , 近似 , 索引 , 組織管理數據 ;
七、 數據挖掘算法 組件化思想應用
1. 算法核心體現 : 將數據挖掘算法分解成一個個核心的組件 , 這些組件是算法核心機制的體現 ;
2 . 組件化應用 : 當面對新需求時 , 不需要整體照搬某個現成的算法 , 應該根據需求 , 選擇不同的組件 , 組成新算法解決當前的數據挖掘問題 ;
舉例 : 如當前的需求 , 模型結構采用哪個類型 , 評分函數使用哪個 , 搜索優化方法選取 等 , 拼接組裝成一個新的數據挖掘算法 ;
3 . 人和計算機分工 :
① 人工工作 : 模型 ( 模式 ) 結構 和 評分函數 , 一般是開發者來確定 ;
② 計算機工作 : 搜索和優化評分函數過程 , 由計算機實現 ;
4 . 算法側重方向 ( 完備性 / 計算效率 ) :
① 小數據 : 數據集比較小 , 側重于 模型 ( 模式 ) 的能力 , 如描述 , 預測 的準確性 ;
② 大數據 : 側重于計算的效率 , 需要在 模型 ( 模式 ) 的能力 和 計算效率之間找平衡點 , 如 算法預測明天的股票預測的很準確 , 但是要運行好幾年 , 沒有任何意義 ;
總結
以上是生活随笔為你收集整理的【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java 集合】Java 集合的线程安
- 下一篇: 【数据挖掘】数据挖掘算法 组件化思想 示