在機器習中,機器通過使用演算法和統計模型來識別資料中的模式來執行習。 這裡的學習習過程從為演算法提供大量訓練資料開始。 然後,該演算法使用此資料來製作**或對其識別的模式執行操作。
換句話說,演算法不斷調整其引數,以最小化其**與實際結果之間的差異。 隨著時間的推移,它繼續從訓練資料中習並更新其引數。 因此,該演算法能夠更好地做出準確的**並解決問題。
讓我們通過乙個例子來理解上述想法。 假設坐標平面中有兩個點,分別用 (x1,y1) 和 (x2,y2) 表示。 我們的目標是確定給定 x 值的 y 值,使點 (x, y) 位於穿過兩個給定點的直線上。
我們先用傳統的程式設計方法解決這個問題。 直線的方程為 y = mx + c,其中 m 是斜率或梯度,c 是截距。 需要注意的是,只有一條唯一線可以穿過任意兩個給定點 (x1, y1) 和 (x2, y2)。
在傳統程式設計中,函式根據給定的輸入生成輸出。 為了解決這個問題,我們定義了直線的引數(斜率和截距)和函式線性函式(x),該函式以x坐標為輸入,並返回位於y = mx + c表示的直線上的對應y坐標。
# (x1, y1) coordinates of first point# (x2, y2) coordinates of second pointslope = (y2-y1)/(x2-x1) #x2 != x1intercept = (x2*y1 - x1*y2)/(x2-x1)def linear_function(x): y = slope*x + intercept return y使用這種方法,傳統程式將找到該直線的確切方程。 下圖顯示了一台計算機,我們在其中編寫乙個功能程式並為其提供一些輸入。 根據該輸入,它輸出。
現在,讓我們繼續討論機器習如何解決這個問題。 在此之前,讓我們定義術語回歸問題。 在回歸問題中,機器習演算法旨在學習習如何連續輸出。
為了解決線性回歸問題,我們可以將任何輸入和輸出資料之間的關係表示為 y = wx + b,其中 w 和 b 分別是權重矩陣和偏置矩陣。 這些矩陣的尺寸取決於要解決的問題型別。 使用這個類比,我們可以將前面討論的問題表述為 y = wx + b,其中 w 等於斜率或梯度 (m),b 是截距 (c)。
在傳統程式設計中,我們使用直線的梯度和截距公式來計算 m 和 c 的值,並將輸入資料傳遞到線性函式中以產生輸出。 對於機器學習習方法,我們需要一組輸入和輸出資料,機器可以使用這些資料來學習從輸入到輸出的習對映函式。 簡單地說,機器學習習將嘗試學習***線性函式**。
眾所周知,線性函式需要 m 和 c 的值,分別是斜率和截距。 在機器習中,機器將根據以資料集形式提供給它的輸入和輸出資料自動找到這些變數。
因此,讓我們快速形成乙個資料集,ML 演算法將使用它來嘗試查詢 M 和 C。
線性方程 y = x + 1 擬合給定資料集。 這意味著斜率 (m) 為 1,截距 (c) 為 1。 您可能想知道,如果我們已經知道輸出值,為什麼我們需要機器學習 習。 要理解這一點,請考慮在學校學習習的類比。
就像我們用練習習的例子來學習習理論,然後在實踐習或考試中測試學習的習一樣,機器習中的初始資料集(訓練資料集)也有同樣的目的。 這些資料集為機器 習 提供輸入和輸出值。 一旦機器從這些示例中學習了 習,它就可以為任何給定的 x 生成輸出作為輸入。
步驟1:機器首先選擇斜率 (m) 和截距 (c) 的隨機值,例如 m = 01 和 c = 05。然後,它使用這些值來查詢(訓練資料集輸入)的輸出。
步驟2:然後,機器計算訓練資料集的輸出 ( 和實際輸出 (y) 之間的差值。 這種差異被稱為誤差,可以使用各種方法進行測量,例如均方誤差 (MSE)、平均絕對誤差 (MAE)、均方根誤差 (RMSE) 等。 目標是儘量減少此錯誤以獲得更好的結果**。
均方誤差 (MSE) 是機器 習 中的一種成本函式,用於衡量模型與訓練資料的擬合程度,訓練的目標是最小化此誤差。 通過最小化MSE,我們可以確保機器習模型是準確的。
步驟 3:mae 變化基於兩個引數,即斜率 (m) 和截距 (c) 的值。 所以上面的成本函式方程是 m 和 c 的函式。 mae = f(m, c)。為了更好地視覺化這一點,我們可以使用:坡度 (m)。截距 (c)。跟成本作為三個軸來表示三個維度。 當機器在步驟1中隨機選擇m和c的值時,它從某個位置開始。 現在,它的目標是到達位置 b,即成本函式處於最小值的位置。 換句話說,我們的目標是找到最小化成本函式(等價於最小化誤差函式)的 m 和 c 值。
第 4 步:現在機器將更新m跟c,這樣成本函式將小於前乙個值。 它通過使用梯度下降等優化演算法來實現這一點,該演算法計算成本函式相對於 m 和 c 的梯度,並相應地更新它們的值。
步驟 5:立即更新m跟cvalue 並根據新值重新計算成本函式,重複迭代,直到達到成本函式的最低點(或最接近點)b 。一旦到達 b 點,m 和 c 的值就成為機器的 習 引數。 現在,每當有人給我們的機器 習 模型任何 x 的有限值時,它都會有乙個對應於每個 x 的 y 值。
總體而言,機器試圖學習習權重(w)和偏差(b)矩陣。 這是一種特殊情況,其中兩個矩陣都由單個元素組成,即 m 和 c。 對於 W 和 B 的維度 >1,ML 演算法將嘗試學習構成該特定資料的權重和偏差矩陣習每個元素。 在下圖中,A11、A12....是乙個(m x n)矩陣元素,ML會嘗試學習習 a11、a12、....AMN。
我們已經解釋了機器實際學習習的過程,這種學習習的能力被稱為機器習。
什麼是權重矩陣和偏置矩陣?
MAE 還有哪些其他替代品?
ML演算法在每次迭代中調整m和c的值,是不是是乙個漫長的過程?這個過程可以更快嗎?(提示:優化器)。
如果沒有一條完美的線來儲存所有資料怎麼辦?
優質作者名單