ML- 核函数(Kernel) 的 SVM
Why 核函数 目的是为了解决 线性不可分问题 . 核心思想是 升维 . 当样本点在低维空间不能很好地分开的时候, 可以考虑将样本 通过某种映射(就是左乘一个矩阵) 到高维空间中, 然后在高维空间就容易 求解一个平面 \(w^Tx +b\) 将其分开了. 想法是很美滋滋, 但立马就有一个问题, 计算量大 , 升到几百几千维, 内存怕是受不了. 这就立马联想到 PCA 降维 . 我在上大学的时候, 做客户细分,和用户画像(ps, 我是市场营销专业嘛 ), 通常是会用到降维技术, 然后 提取主成分或做因子分析 , 目的都是为了 降维和使数据具有可解释性 . 结果核函数却要升维度, 感觉是费力费力搞了半天, 又回去了. 低高维 维度的理解应从向量空间去理解(构成该空间的基是几个),要从 数学概念上 理解. 这个什么"三维空间, 四维时间" 的物理概念是不一样的. 千万不要混淆什么时间,空间, 还有举个栗子, 如果连基本的抽象思维都没有, 那确实有些尴尬 映射(变换) 数据的 值大小 肯定跟原来的是不一样了呀. 在形式上就是 左乘一个矩阵 , \(X' = PX\) , 可理解 矩阵本质是一个特殊的函数 , 特殊在于它更像是 咱们写代码时 自定义函数 可以完成咱自定义的功能, 如对样本进行 旋转, 拉伸 (特征分解), 或拉伸旋转(SVD 分解) 等. 这些内部代码, 就封装在