---
title: "局部異常因子（Local Outlier Factor）"
slug: local-outlier-factor
language: zh-TW
source: https://aiterms.tw/terms/local-outlier-factor
updated_at: 2026-07-04
tags: [機器學習, 異常偵測, source:arxiv]
ipas_term: false
---

# 局部異常因子（Local Outlier Factor）

局部異常因子是一種透過比較資料點與其鄰近樣本的局部密度差異，藉此找出潛在異常值的無監督機器學習演算法。

## 完整說明

局部異常因子是一種無監督機器學習演算法，用於異常偵測任務。它能夠評估資料點相對於周圍鄰居的局部密度偏差，藉此找出密度低於鄰近區域的異常樣本。常見應用包括網路入侵偵測、金融盜刷防範及工業故障預測，適合處理密度分佈不均勻的複雜資料。

## 常見問題

### 局部異常因子演算法中的 k 值應該如何選擇？

k 值的選擇對局部異常因子的效能影響顯著。它代表了計算局部密度時考慮的鄰居數量。通常，k 值的下限不應小於資料集中最小群集的樣本數量，以避免將小群集整體誤判為異常。k 值的上限則不應超過資料集中最大群集的樣本數量，以免局部特性被過度平滑化。在實務操作上，研究人員經常會選擇一個範圍，計算每個 k 值下的異常分數，然後取最大值作為最終分數，這樣可以提高對於不同密度分佈的穩健度。

### 局部異常因子在處理高維度資料時會面臨什麼問題？

當應用於高維度資料時，局部異常因子會遇到維度災難的挑戰。隨著特徵維度的增加，資料點在空間中的分佈會變得極度稀疏，任何兩點之間的距離差異會逐漸縮小，這使得鄰域和密度的概念變得模糊，導致演算法難以有效區分正常點與異常點。此外，高維度空間中距離計算的運算成本會急遽上升。為了解決這個問題，實務上通常會在執行局部異常因子之前，先使用降維技術提取關鍵特徵，或是採用特徵選擇方法。

### 為什麼局部異常因子演算法的計算複雜度較高？有什麼優化方式？

局部異常因子需要計算資料集中每一個資料點與其他所有點之間的距離，以找出最近鄰居。對於包含 n 個樣本的資料集，其基本的時間複雜度與 n 的平方成正比。當資料量達到數十萬甚至百萬級別時，這種計算將耗費大量的時間與系統記憶體。為了降低計算複雜度，工程師通常會引入空間索引資料結構，例如 kd 樹或球樹，來加速近鄰搜尋的過程。這些資料結構可以在對數時間內找到最近鄰居，提升演算法執行效率。

---

來源：https://aiterms.tw/terms/local-outlier-factor
快查頁：https://aiterms.tw/terms/local-outlier-factor
最後更新：2026/07/04
深度解說：https://aiterms.tw/learning/what-is-local-outlier-factor