在本文中,我想討論建構(所謂的「智慧」)資料分析實際專案的基本原則,並修復必要的術語,包括俄語。
根據維基百科,
數據分析是數學和計算機科學的一個領域,涉及構建和研究最通用的數學方法和計算演算法,以從實驗(廣義)數據中提取知識;探索、過濾、轉換和建模資料以提取有用資訊並做出決策的過程。
用稍微簡單一點的語言來說,我建議將資料分析理解為與資料處理演算法相關的一組方法和應用程序,而不是對每個傳入物件有明確定義的回應。bc 數據馬來西亞 這將使它們與經典演算法區分開來,例如那些實現排序或字典的演算法。執行時間和占用記憶體量取決於經典演算法的具體實現,但其應用的預期結果是嚴格固定的。相較之下,我們預期數字辨識神經網路對手寫 8 的輸入圖片會回應 8,但我們不能要求這個結果。此外,任何(從合理意義上來說)神經網路有時都會在正確輸入資料的某些變體上犯錯。與經典(確定性、清晰)相反,我們將問題的這種表述以及用於解決問題的方法和演算法稱為非確定性(或模糊) 。
所描述的數字識別問題可以透過嘗試獨立選擇實現適當顯示的函數來解決。數據分析它很可能不會很快也不會很好。另一方面,您可以訴諸機器學習方法,即使用手動標記的樣本(或在其他情況下使用某些歷史資料)來自動選擇決策函數。因此,在下文中,我將把(廣義)機器學習演算法稱為一種基於資料以某種方式形成解決特定問題的非確定性演算法的演算法。 (結果演算法的非確定性是必要的,以便使用預先載入資料或外部 API 的目錄不屬於定義範圍)。
因此,機器學習是最常見、最強大(但不是唯一)的資料分析方法。不幸的是,人們還沒有發明能夠有效處理或多或少任意性質的資料的機器學習演算法,因此專家必須獨立地對資料進行預處理,以使其成為適合演算法應用的形式。大多數情況下,這種預處理稱為特徵選擇或預處理。事實上,大多數機器學習演算法都將固定長度的數字集作為輸入(對於數學家來說,是 中的點)。然而,現在基於神經網路的各種演算法也被廣泛使用,這些演算法不僅可以將數位集作為輸入,還可以將具有一些附加屬性(主要是幾何屬性)的物件作為輸入,例如影像(該演算法考慮到不僅像素值,還有它們的相對位置)、音訊、視訊和文字。然而,在這些情況下通常會發生一些預處理,因此我們可以考慮將它們的特徵選擇替換為成功預處理的選擇。 監督機器學習演算法(狹義上的)可以稱為演算法(對於數學家而言 – 映射),它將一組點(也稱為示例或樣本)和標籤(值)作為輸入我們正在嘗試預測),並且作為輸出給出一個演算法(=函數),該演算法已經將特定值映射到任何輸入$\mathbb{R}^n$
演算法和啟發式
屬於實例空間。例如,在上述識別數字的神經網路的情況下,使用基於訓練樣本的特殊程序,設定對應於神經元之間的連接的值,並在它們的幫助下,在應用階段,為每個新範例計算一個或另一個預測。順便說一下,範例和標籤的集合稱為訓練集。
儘管該領域的研究非常活躍,但有效的監督機器學習演算法(狹義上的)清單受到嚴格限制,幾乎從未更新。然而,正確應用這些演算法需要經驗和培訓。有效地將實際問題簡化為資料分析任務、選擇特徵清單或預處理、模型及其參數以及有效的實施本身並不容易,更不用說一起解決它們了。
使用機器學習方法解決資料分析問題的一般方案是這樣的:
影像
2024 年垃圾郵件統計: 電子郵件的新數據 可以方便地將「預處理-機器學習模型-後處理」鏈條隔離成單一實體。通常,這樣的鏈保持不變,並且僅定期根據新接收到的資料進行重新訓練。在某些情況下,特別是在專案開發的早期階段,其內容被或多或少複雜的啟發式方法所取代,而這些啟發式方法不直接依賴資料。還有更多狡猾的案例。讓我們為這樣的鏈(及其可能的變體)創建一個單獨的術語,並將其稱為元模型。在啟發式的情況下,它被簡化為以下方案:
影像
啟發式只是一個精心挑選的函數,不使用高級方法,並且通常不會給出良好的結果,但在某些情況下是可以接受的,例如在專案的早期階段。
監督機器學習問題
根據表述的不同,機器學習問題分為分類問題、迴歸問題和邏輯迴歸問題。
分類是一個問題陳述,其中有必要從某個明確定義的清單中確定傳入物件屬於哪個類別。一個典型且流行的例子是上面已經提到的數位識別,其中每個圖像需要與與所描繪的數字相對應的 10 個類別之一相關聯。
迴歸是一個問題的表述,其中需要預測物件的某些定量特徵,例如價格或年齡。
邏輯迴歸結合了上面列出的兩個問題陳述的屬性。它指定物件上已完成的事件,並需要預測它們在新物件上的機率。此類任務的典型範例是預測使用者點擊推薦連結或廣告的可能性的任務。
指標選擇和驗證程序
(模糊)演算法預測品質的度量是評估其工作品質的一種方法,用於將其應用結果與實際答案進行比較。更數學地說,這是一個函數,它將預測列表$(p_0, p_1, …, p_{m – 1})$和發生的回應列表作為輸入$(a_0, a_1, …, a_{m – 1})$,並傳回與預測品質相對應的數字。例如,在分類問題的情況下,最簡單和最受歡迎的選項是不匹配數$(\sum_{i=0}^{m – 1} a_i \neq p_i)$,在迴歸問題的情況下,最簡單和最受歡迎的選項是標準差$MSE = \frac1n \sum_{i=0}^{m – 1}((a_i – p_i)^2)$。然而,在某些情況下,出於實際原因,有必要使用不太標準的品質指標。
在將演算法實施到與真實用戶工作並互動的產品中(或將其轉移給客戶)之前,台湾新闻 最好評估演算法的工作效果。為此,使用以下機制,稱為驗證過程。可用的標記樣本分為兩部分—訓練和驗證。該演算法在訓練集上進行訓練,並在驗證集上評估(或驗證)其品質。如果我們尚未使用機器學習演算法,但正在選擇啟發式演算法,我們可以假設我們評估演算法品質的整個標記樣本都是驗證樣本,並且訓練樣本是空的 – 它由 0 組成元素。
典型的專案開發週期
一般來說,資料分析專案的開發週期如下所示。
研究問題陳述和可能的資料來源。
用數學語言重新表述,選擇預測品質指標。
編寫用於在真實環境中進行訓練和(至少測試)使用的管道。
編寫解決問題的啟發式演算法或簡單的機器學習演算法。
如有必要,提高演算法的質量,可以澄清指標並吸引額外的數據。
結論
現在就這些,下次我們將討論使用哪些具體演算法來解決分類、回歸和邏輯回歸問題,您已經可以閱讀如何對問題進行基礎研究並準備其結果以供應用程式使用程式設計師在這裡。
PS 在下一個主題中,我與那些在機器學習問題上比我更具學術觀點的人爭論了一些。