<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 淺談機器學習中的概念漂移 > 原文: [https://machinelearningmastery.com/gentle-introduction-concept-drift-machine-learning/](https://machinelearningmastery.com/gentle-introduction-concept-drift-machine-learning/) 數據可能會隨時間而變化。這可能導致預測模型中的預測表現較差且降級,假設輸入和輸出變量之間存在靜態關系。 這種改變數據中潛在關系的問題在機器學習領域被稱為概念漂移。 在這篇文章中,您將發現概念漂移的問題,以及您可以在自己的預測建模問題中解決它的方法。 完成這篇文章后,你會知道: * 數據隨時間變化的問題。 * 什么是概念漂移及其定義方式。 * 如何在您自己的預測建模問題中處理概念偏差。 讓我們開始吧。 ![A Gentle Introduction to Concept Drift in Machine Learning](img/023b7237d9a989e8f97e769acfbb6c52.jpg) 機器學習中概念漂移的溫和介紹 [Joe Cleere](https://www.flickr.com/photos/jcleere/12567478525/) 的照片,保留一些權利。 ## 概觀 這篇文章分為3部分;他們是: 1. 隨時間變化的數據 2. 什么是概念漂移? 3. 如何解決概念漂移問題 ## 隨時間變化的數據 預測建模是從歷史數據中學習模型并使用模型對我們不知道答案的新數據進行預測的問題。 從技術上講,預測建模是在給定輸入數據(X)以預測輸出值(y)的情況下近似映射函數(f)的問題。 ```py y = f(X) ``` 通常,這種映射被認為是靜態的,這意味著從歷史數據中學習的映射在將來對新數據同樣有效,并且輸入和輸出數據之間的關系不會改變。 這對許多問題都是如此,但并非所有問題都是如此。 在某些情況下,輸入和輸出數據之間的關系可能會隨著時間的推移而發生變化,這意味著未知的底層映射函數會發生變化。 這些變化可能是重要的,例如,對較舊的歷史數據進行訓練的模型所做的預測不再正確或者如果模型是根據最近的歷史數據進行訓練那么正確。 反過來,可以檢測這些變化,并且如果檢測到,則可以更新學習的模型以反映這些變化。 > ...許多數據挖掘方法都假設發現的模式是靜態的。但是,實際上,數據庫中的模式會隨著時間的推移而發展。這帶來了兩個重要挑戰。第一個挑戰是檢測概念漂移何時發生。第二個挑戰是使模式保持最新,而不是從頭開始引入模式。 - 第10頁,[數據挖掘和知識發現手冊](http://amzn.to/2wzpw3o),2010年。 ## 什么是概念漂移? 機器學習和數據挖掘中的概念漂移是指隨著時間的推移,潛在問題中輸入和輸出數據之間關系的變化。 在其他領域,這種變化可能被稱為“_協變量移位_”,“_數據集移位_”或“_非平穩性_”。 > 在最具挑戰性的數據分析應用程序中,數據隨著時間的推移而發展,必須近乎實時地進行分析。這些數據中的模式和關系經常隨著時間的推移而發展,因此,為分析此類數據而構建的模型會隨著時間的推移而迅速變得過時。在機器學習和數據挖掘中,這種現象被稱為概念漂移。 - [概念漂移應用概述](http://www.win.tue.nl/~mpechen/publications/pubs/CD_applications15.pdf),2016。 “_概念漂移_”中的概念是指輸入和輸出變量之間的未知和隱藏關系。 例如,天氣數據中的一個概念可能是未在溫度數據中明確指定的季節,但可能影響溫度數據。另一個例子可能是隨著時間的推移客戶購買行為可能受到經濟實力的影響,其中經濟實力沒有在數據中明確規定。這些元素也稱為“隱藏上下文”。 > 在許多現實領域中學習的一個難題是感興趣的概念可能依賴于某些隱藏的上下文,而不是以預測特征的形式明確給出。一個典型的例子是天氣預報規則可能隨季節而有根本變化。 [...]通常隱藏變化的原因,而不是先驗的,使學習任務更加復雜。 - [概念漂移的問題:定義和相關工作](http://www-ai.cs.uni-dortmund.de/LEHRE/FACHPROJEKT/SS12/paper/concept-drift/tsymbal2004.pdf),2004。 對數據的更改可以采取任何形式。從概念上講,更容易考慮這樣一種情況,即變化存在一定的時間一致性,使得在特定時間段內收集的數據顯示出相同的關系,并且這種關系隨時間平滑變化。 請注意,情況并非總是如此,這一假設應該受到挑戰。其他一些類型的更改可能包括: * 隨著時間的推移逐梯度化。 * 經常性或周期性變化。 * 突然或突然的變化。 每種情況可能需要不同的概念漂移檢測和處理方案。通常,經常性變化和長期趨勢被認為是系統性的,可以明確地識別和處理。 概念漂移可能出現在監督學習問題上,其中進行預測并且隨時間收集數據。這些傳統上稱為在線學習問題,考慮到數據隨時間的變化。 存在按時間排序預測的域,例如時間序列預測和流數據的預測,其中概念漂移的問題更可能并且應該明確地測試和解決。 > 挖掘數據流時的一個共同挑戰是數據流并不總是嚴格固定的,即數據的概念(輸入數據的基礎分布)隨著時間的推移不可預測地漂移。這促使需要及時檢測數據流中的這些概念漂移 - 用于流數據的[概念漂移檢測](https://arxiv.org/abs/1504.01044),2015。 Indre Zliobaite在2010年的論文題為“[在概念漂移下的學習:概述](https://arxiv.org/abs/1010.4784)”提供了一個框架,用于思考概念漂移和機器學習從業者所需的決策,如下: * **未來假設**:設計師需要對未來的數據源做出假設。 * **更改類型**:設計人員需要識別可能的更改模式。 * **學習器適應性**:基于變化類型和未來假設,設計者選擇使學習器適應的機制。 * **模型選擇**:設計者需要一個標準來在每個時間步驟選擇所選學習器的特定參數化(例如,整體成員的權重,可變窗口方法的窗口大小)。 在解決您自己的預測建模問題的概念偏差時,此框架可能有助于思考可用的決策點。 ## 如何解決概念漂移? 解決概念漂移的方法有很多種;我們來看看幾個。 ### 1.什么都不做(靜態模型) 最常見的方法是根本不處理它并假設數據不會改變。 這使您可以開發一次“最佳”模型,并將其用于所有未來數據。 這應該是您與其他方法進行比較的起點和基線。如果您認為數據集可能會出現概念漂移,則可以通過兩種方式使用靜態模型: 1. **概念漂移檢測**。監測靜態模型隨時間的技能,如果技能下降,可能會發生概念漂移并需要一些干預。 2. **基線表現**。使用靜態模型的技能作為基線,與您所做的任何干預進行比較。 ### 2.定期重新適應 良好的第一級干預是使用更新的歷史數據定期更新靜態模型。 例如,您可以使用從前一時期收集的數據每月或每年更新模型。 這還可以涉及對模型進行反向測試,以便在重新擬合靜態模型時選擇合適數量的歷史數據。 在某些情況下,僅包括最近歷史數據的一小部分以最佳地捕獲輸入和輸出之間的新關系(例如,使用滑動窗口)可能是適當的。 ### 3.定期更新 一些機器學習模型可以更新。 這是比先前方法(周期性重新擬合)的效率,其中不是完全丟棄靜態模型,而是將現有狀態用作適合過程的起點,該過程使用最新歷史數據的樣本來更新模型擬合。 。 例如,該方法適用于使用權重或系數的大多數機器學習算法,例如回歸算法和神經網絡。 ### 4.重量數據 某些算法允許您權衡輸入數據的重要性。 在這種情況下,您可以使用與數據年齡成反比的加權,以便更多地關注最新數據(較高權重),并且較少關注最近數據(較小權重)。 ### 5.了解變化 可以在靜態模型保持不變的情況下使用集合方法,但是新模型學習基于更新近的數據中的關系來校正來自靜態模型的預測。 這可以被認為是增強型集合(僅在精神上),其中后續模型校正來自先前模型的預測。這里的關鍵區別在于后續模型適用于不同的和更新的數據,而不是相同數據集的加權形式,如AdaBoost和梯度增強的情況。 ### 6.檢測并選擇模型 對于某些問題域,可以設計系統來檢測變化并選擇特定的和不同的模型來進行預測。 這可能適用于預期過去可能發生突然變化并且可以在將來檢查的域。它還假設可以開發熟練的模型來處理每個可檢測的數據更改。 例如,突然變化可以是范圍內的特定觀察或觀察,或者一個或多個輸入變量的分布的變化。 ### 7.數據準備 在某些領域,例如時間序列問題,數據可能會隨著時間的推移而發生變化。 在這些類型的問題中,通常以這樣的方式準備數據,即通過差分去除隨時間的數據的系統變化,例如趨勢和季節性。 這很常見,它被內置到ARIMA模型等經典線性方法中。 通常,我們不會將數據的系統變化視為概念漂移的問題,因為它可以直接處理。相反,這些示例可能是一種思考問題的有用方法,可以幫助您使用標準化,縮放,預測等方式以特定方式預測變更和準備數據,從而減輕或至少減少變更對輸入變量的影響。未來。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 文件 * [在概念漂移和隱藏上下文的存在下學習](https://pdfs.semanticscholar.org/4ccc/553d7774748be878002381877d70932b2717.pdf),1996。 * [概念漂移的問題:定義和相關工作](http://www-ai.cs.uni-dortmund.de/LEHRE/FACHPROJEKT/SS12/paper/concept-drift/tsymbal2004.pdf),2004。 * [流媒體數據的概念漂移檢測](https://arxiv.org/abs/1504.01044),2015。 * [在概念漂移下學習:概述](https://arxiv.org/abs/1010.4784),2010。 * [概念漂移應用概述](http://www.win.tue.nl/~mpechen/publications/pubs/CD_applications15.pdf),2016。 * [什么是概念漂移和如何測量](https://link.springer.com/chapter/10.1007/978-3-642-16438-5_17)它?,2010。 * [了解概念漂移](https://arxiv.org/abs/1704.00362),2017年。 ### 用品 * [維基百科上的概念漂移](https://en.wikipedia.org/wiki/Concept_drift) * [處理概念漂移:重要性,挑戰和解決方案](http://www.cs.waikato.ac.nz/~abifet/PAKDD2011/),2011([幻燈片](http://www.cs.waikato.ac.nz/~abifet/PAKDD2011/PAKDD11Tutorial_Handling_Concept_Drift.pdf))。 ## 摘要 在這篇文章中,您發現了應用機器學習中數據變化的概念漂移問題。 具體來說,你學到了: * 數據隨時間變化的問題。 * 什么是概念漂移及其定義方式。 * 如何在您自己的預測建模問題中處理概念偏差。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看