天天看點

機器學習基礎知識

作者:中米AI

任何有抱負的資料科學家在開始他/她的職業生涯時都會有很多擔憂。為什麼我們今天必須關注機器學習,或者為什麼機器學習被如此多的讨論?機器學習是最近才出現的嗎?我認為有幾十種可用的定義和數十種理由,為什麼有人應該進入它。我們不想在這裡重新發明輪子,但想解決與有抱負的資料科學家相關的幾個重要方面。

為什麼選擇機器學習

我們知道,每分鐘都會産生大量的資料,例如零售支付、GPS、照片、部落格、視訊、電子商務、投資、保險、醫療保健、會計、物流、公用事業等等。正因為有這麼多的資料,就有機會在所有這些方面進行預測。預測意味着通過在當下做出正确的決定來為未來做好準備。

機器學習基礎知識

定義

機器學習是計算機科學、統計學和數學的研究,用于做出預測或聚類資料。最廣泛使用的定義是,機器學習是人工智能 (AI) 的一種應用,它使系統能夠在沒有明确程式設計的情況下自動學習和改進經驗。

機器學習基礎知識

詞彙表

  1. 自變量:有一組變量/字段(通常稱為特征),當它們組合在一起時會得出資料的輸出。例如,可以借助多個字段/變量來預測任何地方的降雨預測,例如該地區的地理狀況(熱帶、沿海、山區等)、一年中的月份、前一天的狀态、濕度水準等。這些字段/變量稱為因變量或特征。任何資料集中通常都有多個自變量。
  2. 因變量:我們打算預測的資料點是因變量。在上面的例子中,因變量将是降雨預報(是或否)或我們預計降雨量(以毫米\為機關)。任何資料集中通常有 1 個因變量,但也可能有多個因變量。

3.資料集:自變量和自變量的組合稱為資料集。換句話說,圍繞一個業務問題,許多不同的資料點組合在一起稱為資料集。對于基本的機器學習問題,它通常采用表格形式:每行是一個資料條目,每列是一個特征(或自變量)。例如,在上面的降雨預報示例中,将 300 個示例(300 天的資料)或行和 5 列(跨 4 個要素和 1 個輸出)組合在一起稱為資料集。在上面的示例中,每天将引用行,而濕度、溫度、海拔、星期幾等不同次元将引用列。

  1. 訓練資料:完整的資料集分為 3 個部分,訓練資料通常是劃分資料集中最大的部分。這被稱為訓練資料,因為通常機器學習算法在這個集合上工作并建立其模型(技術上稱為方程)
  2. 驗證資料:這是第 02 個資料塊(來自更大的完整資料集),用于驗證所建立模型的準确性或正确性。模型或方程(在訓練期間建立)在此驗證集上運作,在運作模型時,模型會更改超參數以進一步提高準确性。
  3. 測試資料:這是運作模型以預測準确率分數的資料集的最後一塊
  4. 拟合資料(或訓練):每當有人說資料正在拟合或資料正在訓練時,就意味着機器學習算法正在建立一個模型或建立一個資料可以拟合的廣義方程。例如,二維空間中圓的方程是 (x-h)2 — (y-k)2 = r2 其中 r 是半徑,圓的中心是 (h,k)。現在,這個方程是一個廣義方程,我們把任何 x,y 放在其中,它将建立一個圓。同樣,在建立模型後,每當我們輸入自變量的新值時,機器學習模型都會給出因變量的值。

8.損失:損失是指單個訓練記錄的預測值與實際值之間的內插補點。這給出了預測值與實際值的估計值相差多遠

  1. 成本函數:成本函數是所有訓練樣本的損失平均值

10.優化:這是一個通過調整權重或參數來最小化損失的過程。它是通過對相對于成本函數的所有權重進行偏導數(微分)來實作的

參數:參數是與每個自變量關聯的權重。這些權重會随着每次優化疊代而改變。當這些權重沒有變化或顯着更新時,我們假設優化已完成

機器學習基礎知識

機器學習的類别

讓我們了解機器學習對資料有效,也對數字資料有效。這意味着必須将所有文本轉換為數字資料,然後應用機器學習算法。這将在流程的後面部分讨論。

  1. 監督學習:當我們将自變量(輸出)配置設定給每組因變量(資料集中的特征或列)時,需要此類算法。問題在于在給定一組新的因變量(特征)的情況下預測自變量(輸出)。
  2. 無監督學習:當需要對資料集進行聚類或分離時,需要或使用此類算法。例如,如果我們根據學生的特征(位址、身高、體重、年齡、去年獲得的分數、繪畫技巧、運動獎牌、音樂技能、戴眼鏡與否等)将學校的學生分為多個類别。 基礎資料 在這些特征中,無監督模型可以将學生分為 3 或 4 類,即 a) 好學,b) 運動員, c) 藝術家。

強化學習:強化學習是機器學習的一個子集,其中模型計算所有可能的路徑/選項以到達/計算目的地,然後選擇以最小的懲罰(負分)提供獎勵(正分)的路徑/選項

算法

以下是常用算法清單

  1. 線性回歸
  2. 邏輯回歸
  3. 決策樹
  4. 支援向量機
  5. 樸素貝葉斯
  6. kNN
  7. K-手段
  8. 随機森林
  9. 降維算法
  10. 梯度提升算法

a) GBM的

b) XGBoost

機器學習基礎知識

過程

我們已經在資料科學部分解釋了這個過程,由于機器學習是資料科學的一部分,機器學習的所有步驟都類似于資料科學中的步驟。請閱讀本文直到最後,因為最後一步是您的獎勵項目

  1. 資料收集:資料收集是任何機器學習問題的基礎建構塊。資料可以通過結構化格式(資料庫、可用資料集、網際網路曆史記錄)或非結構化格式(視訊、部落格等)收集。
  2. 清理資料:清理/清理資料是指資料沒有 NULL 值、資料沒有太多異常值、删除不相關列等的過程
  3. 探索性資料分析:借助圖表可視化資料,以識别模式、異常值或關鍵洞察基礎,下一步(特征工程)中需要采取進一步行動
  4. 特征工程:完成此步驟是為了在以下方法的幫助下實作正确的特征集 — a) 在資料集中添加更多記錄,b) 添加更多特征,c) 分組運算(例如最大值、最小值、樞軸值) d) 資料的歸一化/縮放,e) 對數或指數變換,f) 重新設計特征以進行降維或識别共線性, g) 獨熱編碼,還有更多

5.算法選擇:有多種算法可以應用于單個業務問題,是以我們可以測試多種算法。例如,在分類的情況下,我們可以使用邏輯回歸或決策樹或樸素貝葉斯,具體取決于哪種算法提供更好的準确性。

  1. 模組化:這包括訓練模型,這意味着找到正确的權重集(與列/特征/資料相關聯)以建立廣義方程。它包括借助交叉驗證和更新超參數來調整模型。然後,通過在看不見的資料(稱為測試資料)上運作模型來評估模型的準确性。一旦準确性達到業務預期門檻值,就會将其移至生産環境。
  2. 生産部署:生産部署是任何模型中非常關鍵的元素,很少被談論/解釋。以下是我們在部署模型時需要考慮的切線

a) 該模型是為基于 Web 的互動還是基于裝置的互動而開發的?

b) 我們是否需要模型的實時擴充(期望在特定時間段内有更多的使用者)或使用者不會改變?

c) 它是否需要與網絡攝像頭、電子商務門戶等外部裝置內建?

d) 使用該模型對安全有何影響?

e) 我們是希望客戶每次都初始化算法并調用預測函數,還是希望為我們的模型使用 REST API?

機器學習基礎知識

關于如何詳細學習機器學習的總體規劃

  1. 使用Youtube(首先)了解監督學習和無監督學習。停放強化學習幾個月,直到您對監督和無監督有信心
  2. 報名參加 Coursera、Udemy 或任何其他線上平台的幾門課程。尋找免費的或任何可以獲得經濟援助的地方都沒有壞處,但是請檢視内容并将其與上述内容相比對

3.在多個不同的資料集上練習一些算法(你可以線上獲得很多免費的資料集)

  1. 重要

一個。使用 Kaggle 建立帳戶并下載下傳資料集

b.在 github 上建立個人資料并在 github 上展示您的作品

同樣,在LinkedIn上更新您的個人資料

這是在非常基本的層面上解釋的,我們建議為每種類型的機器學習練習至少 2-3 種算法,以開始獲得信心。

繼續閱讀