經典的W3C School 教學,每個都Check過一遍大概就知道大致是怎樣運作的。
機器學習(Machine Learning)是一個廣泛的領域,包含多種不同類型的演算法。以下是一些主要的機器學習演算法分類,以及一些具體的演算法範例:
在監督式學習中,模型是基於帶有標籤的數據集來訓練的。
============================================================
線性回歸在機器學習領域也是一個非常基礎的模型,通常用作基線模型或者是為了理解數據的基本趨勢。
數學原理
在機器學習的框架下,線性回歸可以被視為一個監督學習問題。我們有一個目標函數(或損失函數)需要最小化。對於線性回歸,這通常是均方誤差(Mean Squared Error, MSE):
為了最小化這個損失函數,我們可以使用多種優化算法,其中最常見的是梯度下降。
程式碼實現
在 Python 中,我們通常會使用像 scikit-learn 這樣的機器學習庫來實現線性回歸。下面是一個簡單的例子:
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt
# 生成模擬數據
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 創建線性回歸模型
lin_reg = LinearRegression()
# 訓練模型
lin_reg.fit(X, y)
# 獲取模型參數
print("截距:", lin_reg.intercept_)
print("斜率:", lin_reg.coef_)
# 進行預測
X_new = np.array([[0], [2]])
y_predict = lin_reg.predict(X_new)
# 繪圖
plt.scatter(X, y)
plt.plot(X_new, y_predict, "r-")
plt.axis([0, 2, 0, 15])
plt.show()
在這個例子中,我們使用 scikit-learn 的 LinearRegression 類來創建一個線性回歸模型,然後用 fit 方法來訓練模型。訓練完成後,我們可以用 predict 方法來進行預測。
在熟悉 Tensorflow 和 Pytorch 後,接下來幾天會以傳統的機器學習算法跟應用的介紹為主,之後才會有近幾年比較熱門的電腦視覺(yolo, U-net),自然語言處理相關的算法跟應用, 最後才會有大模型的應用開發, 微調, Lora,以及 stable diffusion 跟 Llama的最前沿的應用介紹。