有没有结合分类和回归的算法?

机器算法验证 回归 机器学习 分类 预测模型 有限混合模型
2022-02-04 18:44:24

我想知道是否有任何算法可以同时进行分类和回归。例如,我想让算法学习一个分类器,同时每个标签内,它还学习一个连续的目标。因此,对于每个训练示例,它都有一个分类标签一个连续值。

我可以先训练一个分类器,然后在每个标签中训练一个回归器,但我只是在想,如果有一种算法可以做到这两点,那就太好了。

2个回答

您所描述的问题可以通过潜在类回归聚类回归来解决,或者它是广义线性模型的扩展混合,这些模型都是有限混合模型潜在类模型的更广泛家族的成员。

它本身不是分类(监督学习)和回归的组合,而是聚类(无监督学习)和回归的组合。可以扩展基本方法,以便您使用伴随变量预测类成员资格,使其更接近您正在寻找的内容。事实上,Vermunt 和 Magidson (2003) 描述了使用潜在类模型进行分类,他们推荐将其用于此类目标。

潜在类回归

这种方法基本上是一种有限混合模型(或潜在类分析),形式为

f(yx,ψ)=k=1Kπkfk(yx,ϑk)

其中是所有参数的向量,参数化的混合分量,每个分量都以潜在比例出现。所以这个想法是你的数据分布是个分量的混合,每个分量都可以用回归模型来描述,概率为分量的选择上非常灵活,可以扩展到其他形式和不同类别模型的混合(例如因子分析器的混合)。ψ=(π,ϑ)fkϑkπkKfkπkfk

基于伴随变量预测类别成员的概率

简单的潜在类回归模型可以扩展到包括预测类成员的伴随变量(Dayton 和 Macready,1998;另见:Linzer 和 Lewis,2011;Grun 和 Leisch,2008;McCutcheon,1987;Hagenaars 和 McCutcheon,2009) ,在这种情况下,模型变为

f(yx,w,ψ)=k=1Kπk(w,α)fk(yx,ϑk)

其中是所有参数的向量,但我们还包括伴随变量和用于基于伴随变量预测潜在比例的函数因此,您可以首先预测类成员的概率,并在单个模型中估计聚类回归。ψwπk(w,α)

优点和缺点

它的好处在于它是一种基于模型的聚类技术,这意味着您可以将模型拟合到您的数据中,并且可以使用不同的模型比较方法(似然比测试、BIC、AIC 等)来比较这些模型。 ),因此最终模型的选择并不像一般的聚类分析那样主观。将问题分解为两个独立的聚类问题,然后应用回归可能会导致有偏差的结果,并且在单个模型中估计所有内容可以让您更有效地使用数据。

缺点是你需要对你的模型做出一些假设并考虑一下,所以它不是一个黑盒方法,它会简单地获取数据并返回一些结果而不会打扰你。对于嘈杂的数据和复杂的模型,您还可能遇到模型可识别性问题。此外,由于此类模型不那么流行,因此没有广泛实施(您可以查看很棒的 R 包flexmixpoLCA据我所知,它在某种程度上也在 SAS 和 Mplus 中实现),是什么让您依赖软件。

例子

flexmix下面您可以从库(Leisch, 2004; Grun and Leisch, 2008)中看到此类模型的示例,将两个回归模型的混合拟合到虚构数据。

library("flexmix")
data("NPreg")
m1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2)
summary(m1)
## 
## Call:
## flexmix(formula = yn ~ x + I(x^2), data = NPreg, k = 2)
## 
##        prior size post>0 ratio
## Comp.1 0.506  100    141 0.709
## Comp.2 0.494  100    145 0.690
## 
## 'log Lik.' -642.5452 (df=9)
## AIC: 1303.09   BIC: 1332.775 
parameters(m1, component = 1)
##                      Comp.1
## coef.(Intercept) 14.7171662
## coef.x            9.8458171
## coef.I(x^2)      -0.9682602
## sigma             3.4808332
parameters(m1, component = 2)
##                       Comp.2
## coef.(Intercept) -0.20910955
## coef.x            4.81646040
## coef.I(x^2)       0.03629501
## sigma             3.47505076

它在以下图上可视化(点形状是真实的类,颜色是分类)。

潜在类回归示例

参考资料和其他资源

有关更多详细信息,您可以查看以下书籍和论文:

Wedel, M. 和 DeSarbo, WS (1995)。广义线性模型的混合似然方法。 分类杂志,12,21-55。

Wedel, M. 和 Kamakura, WA (2001)。市场细分——概念和方法论基础。Kluwer 学术出版社。

Leisch, F. (2004)。Flexmix:有限混合模型和潜在玻璃回归的通用框架,R. Journal of Statistical Software, 11(8) , 1-18。

Grun, B. 和 Leisch, F. (2008)。FlexMix 版本 2:具有伴随变量以及变化和恒定参数的有限混合。 统计软件杂志,28(1),1-35。

McLachlan, G. 和 Peel, D. (2000)。有限混合模型。约翰威利父子公司。

Dayton, CM 和 Macready, GB (1988)。伴随变量潜在类模型。美国统计协会杂志,83 (401), 173-178。

Linzer, DA 和 Lewis, JB (2011)。poLCA:用于多变量潜在类分析的 R 包。 统计软件杂志,42 (10), 1-29。

麦卡琴,阿拉巴马州(1987 年)。潜在类别分析。智者。

Hagenaars JA 和 McCutcheon, AL (2009)。应用潜在类分析。剑桥大学出版社。

Vermunt, JK 和 Magidson, J. (2003)。用于分类的潜在类模型。 计算统计与数据分析,41 (3), 531-537。

Grün, B. 和 Leisch, F. (2007)。回归模型的有限混合的应用。flexmix 包小插图。

Grün, B. 和 Leisch, F. (2007)。在 R 中拟合广义线性回归的有限混合。计算统计与数据分析,51(11),5247-5252。

多任务学习 MLT 允许同时优化不同类型的损失函数(例如,用于回归和逻辑的最小二乘损失或用于分类的铰链损失)这种异构损失函数的组件可以加权以控制/区分主要任务和次要任务。如果两个任务没有相同的学习难度和收敛速度;必须为更简单的任务引入停止标准以避免过度拟合。也可以在损失函数中引入第三个组件,以确保整个学习过程的平滑性。异构损失函数可能看起来像这样(回归和分类的一个例子):

注意对逻辑损失函数应用的权重,以及八分法惩罚的最后一个正则化项

现在,如果我们想用Pytorch实现这一点,我们必须拆分输出并通过不同的标准运行它(同样 MSE 用于回归,逻辑损失用于分类)

让 yhat 模型的初始输出分为 yhat_1 和 yhat_2 这样:
yhat = concat(yhat_1, yhat_2)

对于基本事实也是如此。在学习步骤中,模型应优化如下:

criterion1 = nn.MSELoss()
criterion2 = nn.BCELoss()
loss1 = criterion1(yhat_1, y1)
loss2 = criterion1(yhat_2, y2)
loss = loss1 + lambda*loss2
loss.backward()