演算法(Algorithm)
在 機器學習 與 人工智慧領域 扮演著舉足輕重的角色,
特 別是在搜尋與排序方面,廣泛應用於
網路資訊檢索、資料庫管理 與 各類數據處理。
以下為幾種常見的 搜尋 與 排序 演算法:
(1) 線性搜尋(Linear Search / Sequential Search):
從資料集的第一個元素開始, 逐個與目標元素進行比較。
如果找到匹配的元素,則搜尋成功;
如果遍歷整 個資料集後仍未找到,則搜尋失敗。
(2) 二分搜尋(Binary Search):
首先將 資料集 的 中間元素 與 目標元素 進行比較。
如果 目標元素 等於 中間元素,則搜尋成功;
如果 目標元素 小於 中間元素,則 在資料集的 左半部分 繼續搜尋;
如果 目標元素 大於 中間元素,則在資料集的 3-11 右半部分繼續搜尋。
重複以上步驟,直到 找到目標元素 或 搜尋範圍為空。
(3) 深度優先搜尋(Depth-First Search, DFS):
在 圖形 或 樹狀 結構。從起始節點開 始,沿著一條路徑
儘可能 深地搜尋,直到到達 葉節點 或 遇到 已訪問過的節點,
然後 回溯到上一個 節點,繼續搜尋其他路徑。
(4) 廣度優先搜尋(Breadth-First Search, BFS):
在 圖形 或 樹狀 結構。從 起始節點 開始,首先訪問其 所有相鄰的
節點 ,然後再訪問 這些相鄰節點 的 相鄰節點,
依此類推,一層一層地擴散搜尋。
以下介紹幾種 常見 且 應用廣泛 的演算法:
(1) 線性迴歸(Linear Regression):
預測 連續數值型 的 輸出變數,
例如房價預測、 銷售額預測、股票價格預測等。
優點為簡單易懂、計算效率高;缺點是 只能 捕捉線性關係,
對於非線性關係的資料擬合效果較差。
其演算法原理為假設 輸入變數(特徵)和 輸出變數 之間 存在線性關係,
試圖找到一條最佳的直線 (或超平面,在高維空間中),
盡可能地擬合資料點。
(2) 邏輯迴歸(Logistic Regression):
邏輯迴歸雖然名稱中有「迴歸」,但實際上 是一種分類演算法。
使用Sigmoid函數將線性迴歸的輸出 轉換為 介於0和1 之間 的機率值。
通常設定一個閾值(例如0.5),將 機率值 轉換為 類別。
優點 為簡單易懂、計算效率高、輸出結果具有機率意義,
但只能解決二元分類問 題,對於多類別分類問題需要進行擴展。
(3) K-最近鄰演算法(K-Nearest Neighbors, KNN):
屬於一種基於實例的學習演 算法,對於一個新的輸入樣本,
它會找出訓練集中與其最接近的 K 個樣本 (最近鄰)。
對於分類問題,將 新樣本 分類為
K個 最近鄰中 出現次數 最多的 類別;
對於迴歸問題,將 新樣本的預測值 設定為
K個 最近鄰的 平均值 或 中位 數。