函數近似

瓦片編碼(tile coding)

把連續變數轉成特徵的實用配方。在狀態空間上鋪一個格子,稱為一個鋪磚層,每一格就是一塊瓦片,狀態落在裡面就是 1,否則是 0。接著再鋪好幾層格子,每層都平移半格左右。一個狀態在每一層恰好點亮一塊瓦片,所以特徵向量大多是零、每層只有一個 1——稀疏又便宜。

有 k 個鋪磚層時,每個狀態恰好點亮 k 個特徵,於是線性估計就是 k 個權重之和——計算與更新都很快。解析度來自瓦片大小;推廣來自各層的偏移:相鄰狀態共用大多數被點亮的瓦片,因而共享大部分價值,遠處的狀態則完全不共用。你用瓦片寬度與層數,來掌控「推廣對解析度」的取捨。

瓦片編碼在維度上擴展得很差——d 維的完整格子需要指數級數量的瓦片——所以人們會用雜湊,或只對相關變數鋪磚。它是深度時代之前的主力(如登山車等問題),至今仍是低維控制問題上很好用的廉價基準。

x_i(s)\in\{0,1\},\qquad \hat v(s)=\sum_{i\in \text{active}} w_i\quad(\text{exactly }k\text{ active for }k\text{ tilings})

每個鋪磚層恰好貢獻一塊被點亮的瓦片,故 k 層給出 k 個被點亮的特徵。

又称
CMAC