最近使用GBRT和LR解决回归问题,总体来说发现GBRT能很快收敛,且误差mse通常比lr小。但使用过程中发现利用GBRT进行回归大部分情况的回归值都接近真实值,但也会存在一些错的很离谱的回归值,反而lr对所有的回归样例都能表现的中规中矩。
举个例子:假设问题为需要评价一个淘宝店商户的价值高低,我们需要利用该淘宝店的 历史的上月pv,uv,点击,交易量,评价,好评数,星级等预测其下个月可能产生的价值。假设一个shop其
pv | uv | 点击 | 交易量 | 评价 | 好评数 | 星级 | 折扣 |
30000 | 40000 | 3666 | 8990 | 77 | 0 | 0 | 0 |
对GBRT:GBRT的回归实质也是树,假设GBRT对训练样本训练得到,其第一棵树的节点是上月交易量,
显然GBRT根据样本训练发现星级低又不搞活动的店价值不高,他才不管你上个月的交易远远大于500呀。。。。
对于lr,学习出来的权重 假设是0.1 。。。。0.1(假设) 那么0.1*8990远大于0.1*500,能把星级活动的低分补回来从而使得这个样本回归出来还有一个比较高的价值。
结论: 显然上面的例子只是模型中的个别特例,但是当在实际应用中,倘若你的模型出现一个离谱的值,业务方很显然不会放过你。这意味着在实际的应用环境中,对这种万里挑一的奇异值容忍性为零时,人们宁愿接受每个样本差一点也不能接受一个样本差一万,而你的样本通常会因为各种各样的原因存在缺失值,这时选择lr模型更优于树模型。