當我們說資料探勘的時候我們在說什麼

2021-07-11 04:22:10 字數 2424 閱讀 6760

開頭下定語:統計學習

現在市面上談論到的資料探勘基本上都是基於統計學習的監督學習或非監督學習問題。尤其以監督學習應用面更廣。

統計學習的應用

分類問題:客戶分類模型、異常鑑別、影象識別等

標註問題:資訊抽取、自然語言處理等

統計學習的一般流程

步驟一:得到乙個有限的資料集合

涉及到以下多個流程:

1. 資料的採集

2. 原始資料的格式化、標準化

3. 原始去噪,去掉錯誤的值(而不是誤差值,這裡又涉及到乙個複雜的問題,如何界定錯誤資料)

4. 預處理(針對具體需要研究的問題、抽取相應地特徵組成需要研究的資料集合)

步驟二:確定所有的學習模型集合

這個問題取決於我們選擇怎麼樣的學習方法。常見得學習方法有:

1. 感知機模型

2. k近鄰法

3. 樸素貝葉斯法

4. 決策樹

5. 邏輯斯諦回歸和最大熵模型

6. 支援向量機

7. 提公升方法adaboost

8. em演算法

9. 隱馬爾可夫模型

10. 條件隨機場

…而且這些演算法還可以進行變異、組合然後形成新的演算法模型。也是通常認為中資料探勘比較核心的部分。

步驟三:確定模型選擇的策略

一般來說,當你確定了你的學習方法後,在學習的過程中會產生很多個模型。而如何在這些模型中間挑選最優的模型,成為了我們亟待解決的問題。

一般衡量乙個模型的優秀程度我們使用兩個指標:

1. 擬合能力

2. 泛化能力

*擬合能力

表示模型的計算結果和實際結果的相差程度,我們一般使用風險函式來衡量。而風險函式是損失函式的期望。所以我們其實是使用損失函式來衡量乙個模型的期望。

常見的損失函式:

1. 0-1損失函式

2. 平分損失函式

3. 絕對值損失函式

4. 對數損失函式

損失函式越小,模型的擬合能力就越好。

*泛化能力

泛化能力是指模型對新資料的**能力。一般來說,越複雜的模型的擬合能力越強,但是泛化能力越弱。所以我們需要選擇乙個適當複雜度的模型,使其泛化能力和擬合能力都足夠強。

而衡量乙個模型同時具有較好地泛化能力和擬合能力,我們一般用結構風險函式

結構風險函式是在風險函式的基礎上面加上乙個罰項。通過罰項來降低複雜度高的模型的結構風險函式值。從而達到篩選出合適的複雜度的模型的目的。

罰項一般取特徵空間w的範數,一般有:

1. l0範數

2. l1範數

3. l2範數

4. 核範數 …

步驟四:實現求解最優模型的演算法並通過學習方法選擇最優模型

求解最優模型的演算法其實就是求解結構風險函式最小值得演算法,即結構風險函式最優化的問題。

如果結構風險函式在我們所關心的區域中是凸函式的話,那麼任何區域性最小解也是全域性最優解。現在已經有穩定,快速的數值計算方法來求二次可微地凸函式的最小值。

然而,很多時候我們沒有辦法通過結構風險函式直接算出它的最小值。我們只能通過一些迭代的方式獲得區域性最優解。

常見的通過迭代的方式獲得區域性最優解的演算法有:

1. 梯度下降法

2. 牛頓法

3. 共軛梯度法

4. 線性搜尋

5. 置信域方法

另外還有一些演算法:

1. 模擬退火

2. 遺傳演算法

3. 類免疫演算法

4. 演化策略

5. 差異演化演算法

6. 微粒群演算法

7. 神經網路

8. 支援向量機

步驟五:利用學習得到的最優模型對新資料進行分析或**

到這一步一般來說已經成功了,然後往往現實是殘酷的,辛辛苦苦20年,一朝回到解放前。

往往學習得到的模型在實際使用過程當中並不是那麼的理想。這裡面有很多種原因:

總之,以上的所有步驟的所有細節都可能導致你的模型不夠優秀。這就需要你再次的思考這個問題,去不斷的優化你的模型。直到得到乙個不錯的模型。

don』t panic!

fighting!

小結上面是我大概總結的一些關於資料探勘相關的東西。

其實資料探勘涉及的東西遠比我上面說的這點東西多的多,我上面提到的還只是監督學習。就光我上面提到的幾個步驟。其實每乙個步驟都有很多很多東西可以講,可以研究,工程方面的、演算法理論方面的等等等等。

一入資料探勘深似海,從此奮鬥到天明。

but,don』t panic!

資料探勘還是很有意思的,你可以用機器的力量、數學的力量理解世界的執行規律。去**他或者利用你研究到的東西做一些有意思的事情。

當我們在說事件驅動的時候,我們在說什麼

martin fowler是物件導向分析設計 重構等領域的頂級專家,也是敏捷開發的創始人之一,也是企業應用架構方面的頂級專家。事件通知 這一模式就是乙個系統傳送一些事件訊息到另一些系統,以通知他們說我這個系統裡面的領域物件發生了改變。這個通知的乙個關鍵點是,我的源系統並不關心對方系統收到這些通知以後...

當我們在說事件驅動的時候,我們在說什麼

翻譯自martin fowler2017年初的文章what do you mean by event driven 雖然這篇文章網上已經有一些翻譯,但是基本都是直譯,甚至有的翻譯比較晦澀。再加上最近工作中遇到不少事件驅動架構設計的問題,所以把這個再翻一下,並不是直譯,主要是加上一些自己的理解。mar...

當我們在談論資料資產保護的時候,我們是在說什麼?

在大資料時代的背景下,以ai 大資料 物聯網 雲計算等為標誌的新一輪科技變革正在進行,資料的價值和安全越來越受到重視。可以說,誰掌握資料,誰就掌握了未來。那麼如何定義資料 管理資料 保護資料,實現資料的價值,就成為近來各界熱切關注的議題。要實現對資料資產的管理和保護,首先要對資料進行分類。這裡將以卡...