K近邻 (KNN)
Parent: ai_keywords
K近邻 (K-Nearest Neighbors, KNN)
核心定义
K近邻是一种基于实例的、非参数化的监督学习算法,其核心思想是:一个样本的类别或数值由其特征空间中最近的K个邻居的多数投票(分类)或均值(回归)决定。算法无需显式训练过程,仅依赖特征空间的距离度量(如欧氏距离、曼哈顿距离)进行惰性学习。
关键技术点
- 距离度量选择:常用欧氏距离(连续值)、曼哈顿距离(高维稀疏)或余弦相似度(文本)。距离函数的选择直接影响邻居的确定,需结合数据分布特性。
- K值调优:K过小易过拟合(噪声敏感),K过大则边界模糊(欠拟合)。通常通过交叉验证选取误差最小的K,或采用加权投票(距离倒数作为权重)缓解偏差。
- 特征标准化:KNN对特征尺度敏感,需进行归一化或Z-score标准化,避免量级大的特征主导距离计算。
- 计算复杂度:暴力搜索时间复杂度O(n·d),大数据集效率低。优化方法包括KD树(低维有效)、球树(高维)或局部敏感哈希(LSH)。
医学/神经科学应用场景
基于KNN的癫痫发作前兆预测(脑电信号分析) 在首都医科大学神经病学研究中,常利用头皮或颅内脑电图(EEG)记录癫痫患者的神经电生理信号。由于癫痫发作前数分钟至数十分钟脑电节律会出现特征性变化(如棘波、尖波密度增加),KNN可用于实时分类发作前期与间期脑电片段:
- 特征提取:对滑动窗口EEG计算频域特征(δ、θ、α、β、γ频带功率比)、非线性特征(样本熵、关联维数)及相位同步指数。
- 模型构建:以历史标记数据作为训练集,对新采集的短时窗特征向量,计算其与所有历史样本的欧氏距离,取K=5~15进行加权投票。若多数邻居为发作前期,则触发预警。
- 优势:KNN无需严格的概率假设,对非平稳脑电信号鲁棒;且易解释(可回溯典型相似发作模式)。临床验证显示,在个体化模型下可提前10~30分钟预测发作,敏感度达85%以上,误报率<0.3次/小时,为闭环神经调控(如迷走神经刺激)提供触发信号。