我有来自 2 个品牌的客户数据。数据结构相同,但我预计不同品牌的客户行为会有所不同。
所以我可以训练 2 个模型,每个品牌 1 个,或者我可以在两个品牌上训练一个模型,但在数据中标记客户属于哪个品牌。
所以我的问题是,对带有标志的两个品牌进行培训对于机器学习(我正在使用神经网络)来说是否会做更多的工作,因此比为每个品牌都拥有专用模型更难达到良好的准确性?
我有来自 2 个品牌的客户数据。数据结构相同,但我预计不同品牌的客户行为会有所不同。
所以我可以训练 2 个模型,每个品牌 1 个,或者我可以在两个品牌上训练一个模型,但在数据中标记客户属于哪个品牌。
所以我的问题是,对带有标志的两个品牌进行培训对于机器学习(我正在使用神经网络)来说是否会做更多的工作,因此比为每个品牌都拥有专用模型更难达到良好的准确性?
我将假设某种形式的回归(类似)模型来写一个答案。你说神经网络,同样适用,但是在更简单的环境中理解问题会很有帮助。在将数据扔到神经网络之前,您可能应该尝试一些更简单的模型......
所以让成为回应,协变量向量(除品牌指标外的所有变量,可能包括交互,不包括品牌),以及(值 0 或 1)品牌指标。我们可以用线性预测器编写一个模型(不包括误差项)
然后我们可以包括品牌和其他变量之间的所有交互作用
如果你想要一个中间模型,有一些但不是所有的交互,你应该拟合一个模型。
编辑为了更清楚,R中的一个简单模拟示例:
set.seed(7*11*13) # My public seed
n <- 100
x1 <- rnorm(n, 10, 3)
x2 <- rnorm(n, 15, 4)
x3 <- x2 + rnorm(n, 5, 2)
Sex <- rbinom(n, 1, 0.5)
Y <- 5 + x1 + Sex*x2 + Sex*x3+ 5*Sex + rnorm(n, 0, 3)
mydata <- data.frame(x1, x2, x3, Y, Sex=as.factor(Sex))
# Two separate models:
modsep0 <- lm(Y ~ x1+x2+x3, data=mydata, subset=Sex==0)
modsep1 <- lm(Y ~ x1+x2+x3, data=mydata, subset=Sex==1)
modflags <- lm(Y ~ Sex+x1+x2+x3+Sex:x1+Sex:x2+Sex:x3,
data=mydata)
然后模型总结:
summary(modsep0)
Call:
lm(formula = Y ~ x1 + x2 + x3, data = mydata,
subset = Sex == 0)
Residuals:
Min 1Q Median 3Q Max
-7.0752 -1.0416 -0.0627 1.0081 6.0612
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.2936 2.6214 2.401 0.0202 *
x1 0.9968 0.1104 9.029 5.34e-12 ***
x2 -0.2664 0.2369 -1.125 0.2662
x3 0.1193 0.1975 0.604 0.5487
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.962 on 49 degrees of freedom
Multiple R-squared: 0.64, Adjusted R-squared: 0.618
F-statistic: 29.04 on 3 and 49 DF, p-value: 6.166e-11
summary(modsep1)
Call:
lm(formula = Y ~ x1 + x2 + x3, data = mydata,
subset = Sex == 1)
Residuals:
Min 1Q Median 3Q Max
-5.7700 -1.9096 0.3434 2.1454 5.8608
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.4998 2.5982 1.732 0.0905 .
x1 0.9738 0.1431 6.805 2.47e-08 ***
x2 0.5550 0.2700 2.055 0.0459 *
x3 1.6171 0.2246 7.199 6.64e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.888 on 43 degrees of freedom
Multiple R-squared: 0.9075, Adjusted R-squared: 0.9011
F-statistic: 140.7 on 3 and 43 DF, p-value: < 2.2e-16
summary(modflags)
Call:
lm(formula = Y ~ Sex + x1 + x2 + x3 + Sex:x1 + Sex:x2 +
Sex:x3, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-7.0752 -1.3782 0.0071 1.9441 6.0612
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.29355 2.59092 2.429 0.0171 *
Sex1 -1.79380 3.69469 -0.486 0.6285
x1 0.99681 0.10912 9.135 1.51e-14 ***
x2 -0.26644 0.23415 -1.138 0.2581
x3 0.11926 0.19517 0.611 0.5427
Sex1:x1 -0.02304 0.18152 -0.127 0.8993
Sex1:x2 0.82139 0.36019 2.280 0.0249 *
Sex1:x3 1.49783 0.29991 4.994 2.79e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.927 on 92 degrees of freedom
Multiple R-squared: 0.9824, Adjusted R-squared: 0.981
F-statistic: 732.4 on 7 and 92 DF, p-value: < 2.2e-16
然后开始比较系数,从截距开始(记住Sex变量不能单独包含在单独的模型中,所以有截距的一部分)所以从
6.29355-1.79380
[1] 4.49975
并从那里继续...