跳到主要内容

内核岭回归(KernelRidge)使用文档

组件名称内核岭回归(KernelRidge)
工具集机器学习/回归/内核岭回归(KernelRidge)
组件作者雪浪云-燕青
文档版本1.0
功能内核岭回归(KernelRidge)
镜像名称ml_components:3
开发语言Python

组件原理

Kernel Ridge Regression(KRR,核脊回归) 是Ridge Regression(RR,脊回归)的kernel版本,与Support Vector Regression(SVR,支持向量回归)类似。

KRR与SVR的学习形式是相同的。两个都有l_2正则项,只是两者的损失函数不同。KRR使用的是均方误差,而SVR使用的是epsilon-insensitive的损失函数,即:

在训练的过程中,KRR能够得出解析解,而且在处理中度规模的数据集时,会很有速度;但是,在做预测时,因为KRR所学到的参数是非稀疏的,而SVR的是稀疏的,所以此时KRR速度会慢于SVR。

RR的最优解为:

为了扩展到核空间,我们必须把这个参数w的最优转换成具有内积的形式。可以使用The matrix inverse lemma,重写为:

即,我们可以直接扩展在核空间下:

具体转换的过程如下:

The matrix inverse lemma为

则有,

所以,

定义对偶变量alpha(dual variables):

所以我们的原始变量w(primal variable)为:

因此,w实际上是一个N个训练样本的线性组合形式。在计算预测均值时,我们会有:

也就是,同理,我们令

则有,

或者,我们可以写成:

通过用Gram矩阵K代替XX^T,参数w转换成,

即估计的函数F为:

输入桩

支持单个csv文件输入。

输入端子1

  • 端口名称:训练数据
  • 输入类型:Csv文件
  • 功能描述: 输入用于训练的数据

输出桩

支持sklearn模型输出。

输出端子1

  • 端口名称:输出模型
  • 输出类型:sklearn模型
  • 功能描述: 输出训练好的模型用于预测

参数配置

alpha

  • 功能描述:小的正alpha值改善了问题的条件,减少了估计的方差。
  • 必选参数:是
  • 默认值:1

kerne

  • 功能描述:内部使用的内核映射。linear,precomputed。
  • 必选参数:是
  • 默认值:linear

gamma

  • 功能描述:RBF、拉普拉斯、多项式、指数chi2和sigmoid函数的gamma参数。
  • 必选参数:否
  • 默认值:(无)

degree

  • 功能描述:多项式核的次数。
  • 必选参数:是
  • 默认值:3

coef0

  • 功能描述:多项式和sigmoid的零系数
  • 必选参数:是
  • 默认值:1

需要训练

  • 功能描述:该模型是否需要训练,默认为需要训练。
  • 必选参数:是
  • 默认值:true

特征字段

  • 功能描述:特征字段
  • 必选参数:是
  • 默认值:(无)

识别字段

  • 功能描述:识别字段
  • 必选参数:是
  • 默认值:(无)

使用方法

  • 将组件拖入到项目中
  • 与前一个组件输出的端口连接(必须是csv类型)
  • 点击运行该节点

测试用例

  • 模板

  • 右面板配置

  • 查看结果