---
title: "孤立森林（Isolation Forest）"
slug: isolation-forest
language: zh-TW
source: https://aiterms.tw/terms/isolation-forest
updated_at: 2026-07-04
tags: [機器學習, 異常偵測, 統計方法, source:arxiv]
ipas_term: false
---

# 孤立森林（Isolation Forest）

孤立森林是一種無監督異常偵測演算法，透過隨機切割資料空間，將數量稀少且特徵獨特的資料點快速分離出來。

## 完整說明

孤立森林是一種非監督式樹狀機器學習演算法，用於高效偵測異常值。它能夠透過隨機分割特徵空間，將數量稀少且特徵獨特的異常點在淺層節點中快速分離出來。常見應用包括網路入侵偵測、信用卡詐欺檢測、工業預測性維護及系統日誌監控。

## 常見問題

### 孤立森林在處理高維度資料時會遇到維度災難嗎？

孤立森林在設計上對於高維度資料具有一定的抵抗力，因為它在每次節點分割時，只會隨機挑選一個維度特徵進行評估，這降低了計算負擔。然而，當資料維度極高且包含大量與異常偵測無關的雜訊特徵時，隨機挑選機制會導致樹經常選中這些無用維度，進而降低異常分數的鑑別力。在這種情況下，通常需要先透過特徵萃取或降維技術過濾雜訊，再將處理後的特徵輸入模型。

### 如何為孤立森林挑選合適的超參數配置？

孤立森林主要有兩個核心超參數需要調整：子樣本大小與孤立樹的數量。對於孤立樹的數量，通常設定在一百棵即可達到穩定的異常分數收斂，過多的樹只會徒增運算時間。子樣本大小則是一個關鍵參數，這個相對微小的數字有助於突顯異常點並減輕遮蔽效應。只有當資料集極其龐大或異常點特徵非常隱蔽時，才需要考慮增加子樣本大小。建議使用網格搜尋配合交叉驗證進行微調。

### 孤立森林產出的異常分數應該如何設定閾值來切分正常與異常資料？

孤立森林輸出的異常分數是一個介於零到一之間的連續數值，演算法本身不會直接給出絕對的二元分類結果。分數越接近一代表異常機率越高。在實務操作中，設定閾值需要根據業務場景對假警報率與漏報率的容忍度來決定。一種常見做法是根據先驗知識，估計資料中可能存在的異常比例，然後將分數排序取分位數作為閾值，或繪製接收者操作特徵曲線尋找最佳決策邊界。

---

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