嗨,我想对回归技术进行全面分析,因此将继续编辑这个问题 . 我正在尝试使用Matlab中提供的技术来解决回归问题 . 理想情况下,我想看看诸如此类的技巧

  • 线性回归

  • Logistic回归

  • 贝叶斯回归

  • 支持向量回归

  • 回归的高斯过程

问题陈述

给定数据 XY ,其大小为 333x128333x1 ,其中 333 是训练示例的数量, 128 是要素尺寸 . 我正在解决的问题是回归问题和 not a classification one . 我打算在Matlab中完成上述所有操作 .


线性回归

线性回归的代码如下:它从“hald”数据集中获取输入数据,并将前10个元素用于训练目的,接下来的3个元素用于测试目的 . 最后一行打印输出,即预测值和实际标签 .

clc; clear all; close all;
load hald
X = ingredients; % Predictor variables
y = heat; % Response
mdl = fitlm(X(1:10,:),y(1:10,:));
predicted_values = feval(mdl,X(11:end,:));
[y(11:end,:) predicted_values]

输出如下:

ans =
   83.8000   80.2845
  113.3000  112.8545
  109.4000  112.5293

但是,任何人都可以向我解释广义线性回归模型的含义吗?在matlab中,有两个专门用于此的命令:glmfit / glmvalfitglm / feval .

应用广义线性规则模型的代码如下:

mdl = fitglm(X(1:10,:),y(1:10,:),'quadratic');
predicted_values = feval(mdl,X(11:end,:));
error = sum((y(11:end,:)-predicted_values).^2)

[b, dev] = glmfit(X(1:10,:),y(1:10,:),'normal','link','identity');
predicted_values = glmval(b,X(11:end,:),'identity');
error = sum((y(11:end,:)-predicted_values).^2)

What is the difference between the two operations ?

此外 glmfit 有一个名为 distrlink 的术语 . 这种分布是什么意思?如何选择最佳分销?对于上面的例子,仅基于数据如何估计apriori的分布?

另外据我所知,链接功能用于 Build 线性模型和响应变量之间的链接 . 这是否意味着逻辑回归是广义线性回归模型的子集?我在wiki link阅读了详细信息,但无法理清我的怀疑 .


支持向量回归

线性回归的代码如下:这里我可以选择标准化数据 . 我选择的内核是具有自动缩放的rbf内核 . 许多选项,如多项式内核,高斯内核,线性等也可用 .

mdl = fitrsvm(X(1:10,:),y(1:10,:),'KernelFunction','rbf','KernelScale','auto','Standardize',true);    
predicted_values = predict(mdl,X(11:end,:));

Logistic回归

我无法使用逻辑回归来解决这个回归问题 . 我有各种各样的来源,他们总是解决了分类问题,但我的标签空间是连续的而不是离散的 . 在这个wiki article中明确指出 As such it is not a classification method . 但是基于答案herehere在我看来 logistic regression can only be used for classification ?

我也经历了mnrfit / mnrval教程,但他们也处理了分类问题 .

请根据我的上述数据提供一个小例子来说明逻辑回归如何用于回归?