径向基函数模型(RBF)

所属分类:决策树与神经网络

这个方法是做什么的

径向基函数模型的想法是:不直接在原始特征上找决策边界,而是先把每个样本换算成“它离一批基函数中心有多远”,在这个新空间里再用一个线性输出层完成分类或回归。本模块的实现口径写在卡⑤ 的学术表述里,请以它为准:用随机傅里叶特征(RBFSampler)近似高斯 RBF 核映射,再接线性输出层——分类时输出层是 logistic 回归,回归时是岭回归。也就是说基函数中心不是聚类挑出来的,而是随机投影生成的,所以随机种子是模型的一部分而不只是折划分的一部分。四个可调项:径向基函数个数、gamma、正则化强度、最大迭代次数,另有任务类型、交叉验证折数与随机种子。

报告共五张卡,结构与「多层感知器(MLP)」完全一致:卡① 前提检验与建模设置、卡② 5 折交叉验证主结果(同样没有独立留出测试集)、卡③ 折外诊断图、卡④ 判别效能与置换重要性、卡⑤ 结论与学术表述。差别在卡① 表4 的超参数行——它列的是“径向基函数个数 / gamma / 正则化强度 C(logistic 输出层)/ 最大迭代次数”,其中括号里的输出层名称会随任务类型改写。这一行值得逐字看:本模块有两个控件的实际含义取决于任务类型,看错了会往反方向调。

需要准备什么数据

  • 放入因变量Y:不限
  • 放入自变量X:至少 1 个

数据要求

  • 数据表至少 20 行。
  • 单列缺失率不超过 30%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 类别或数值的边界明显不是直线,而样本量在几百到几千、可以接受一次几秒到几十秒的拟合
  • 想要一条全局光滑的映射,而不是决策树那种阶梯状输出
  • 已经跑过「多层感知器(MLP)」,想用一个结构完全不同、超参数更少的非线性模型交叉印证
  • 自变量个数不多且都经过挑选,独热之后维度不会膨胀(RBF 以样本间欧氏距离为基础,稀疏的 0/1 列会稀释距离)
  • 只要预测精度与变量贡献排序,不需要系数与显著性

前提:至少 20 条完整记录,含缺失的整行剔除,禁止常数列,因变量不得同时出现在自变量里;分类时每个类别至少 2 条记录。样本量最好达到自变量个数的 10 倍以上。它对特征量纲极其敏感,标准化已在每折训练内做了,但标准化消不掉极端离群值,建议先处理。跑出结果后,随机种子必须和指标一起报告。

什么时候不要用它

  • 需要系数、效应方向与 p 值:整份报告没有系数表,也没有针对自变量的显著性检验。连续因变量用「线性回归 (最小二乘法)」,二分类用「逻辑回归」。
  • 需要能照着执行的规则:它给不出“若…则…”。要可读规则用「C&RT决策树」,要带显著性的分层规则用「CHAID决策树」。
  • 自变量里有类别数很多的定类变量:独热后核函数算出的距离被大量 0/1 列稀释,效果明显下降;这种数据交给按变量逐层切分的「GBDT梯度提升分类」或「随机森林分类」。
  • 不想手工试 gamma:本模块不做超参数搜索,而 gamma 选错足以把结果打成随机猜(见下)。超参数少得多、默认值就能用的是「随机森林分类」;连续因变量用「随机森林回归」。
  • 观测之间不独立(同一对象多期测量、机构内部嵌套):交叉验证会把同一个体拆到训练折与验证折两边,指标虚高;用「混合模型」或「面板模型」。

容易误读的地方

  • gamma 是这里唯一能把结果打成瞎猜的旋钮。 同一份演示数据实测:gamma=0.01 → 折外准确率 0.7708;gamma=1(默认)→ 0.7667;gamma=50 → 0.3417,而无信息率是 0.3333,卡④ 的折外 ROC-AUC 只有 0.5035(等于随机)。此时卡② 的训练集准确率还有 0.7292、训练−CV 差 0.3875,即模型把训练集背了下来、对新样本一无所知。gamma 过大等于让每个基函数“只认自己”,过小则退化成线性模型。
  • gamma=50 那一次,卡⑤ 的学术表述照样写着“模型准确率高于无信息率”。 0.3417 > 0.3333 字面成立,但 95%CI 是 [0.2422, 0.4412],把 0.3333 整个包在里面。卡① 表2 表注自己就写着“Accuracy 低于或接近该值说明模型没有学到有效信息”。判断有没有学到东西,要看 ROC-AUC 和那个区间,不要看到这句话就收工。
  • “正则化强度”这一个控件,在两种任务下方向相反。 分类时它是 logistic 的 C——越大正则越弱;回归时它是岭回归的 alpha——越大正则越强。报告的行名会跟着改写(“正则化强度 C(logistic 输出层)”/“正则化强度 alpha(岭回归输出层)”)。回归实测:alpha=1 时 R²=0.3282,alpha=1000 时 R²=−0.0020,预测已经塌成一条常数线。切换任务类型后必须重设这个值,照搬会往反方向走。
  • 回归模式下“最大迭代次数”完全不起作用,但报告仍把它列成一条超参数。 实测把它设成 100 和 9000,两次跑出同一个 R² 0.3282 ± 0.1011:回归的输出层是岭回归,闭式解,没有迭代过程。它只在分类(logistic 输出层)时有意义。看到卡① 表4 里那行“由用户在左侧控件设定”,别以为它一定参与了计算。
  • 换随机种子不是“小幅变动”,是换了一个模型。 随机特征映射本身依赖种子,种子一变,那 120 个基函数就是另一组。实测种子 42 → 0.7667、7 → 0.7292、2024 → 0.7792,跨度 0.050,与折间 SD(0.0578)同一量级。对决策树来说种子只影响折的划分,对本模块不是。所以报告结果时种子要写进方法部分,比较两次配置的优劣前也要先确认种子相同。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:交叉验证性能主结果表
  3. 输出结果三:折外预测诊断可视化
  4. 输出结果四:判别效能与变量重要性
  5. 输出结果五:结论与学术表述
混淆矩阵(基于折外预测)
图1 混淆矩阵(基于折外预测)
混淆矩阵基于交叉验证的折外预测:行是真实类别、列是预测类别,对角线为预测正确的样本数。可用右上角切换器切到「表格」读取精确计数。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程