您的位置:首页 > 其它

将特征离散成高维的布尔特征可以解决分类模型的非线性问题

2015-12-11 11:55 211 查看
原文:http://blog.sina.com.cn/s/blog_818f5fde0102vxf7.html

之前实习,公司团队用LR进行推荐排序的时候,都会将所有特征离散成非常高维的0/1特征(千万维级别),然后再进行模型训练。大牛说这样可以解决模型的非线性问题。因为逻辑回归只能拟合线性分类问题,也不能像SVM那样利用核函数(之前在博文http://blog.sina.com.cn/s/blog_818f5fde0102vvpy.html里已经讲过,因为这样做会造成非常大的计算开销),如果遇到非线性问题,效果会不好。但是如果对特征进行布尔化处理,则可以消除非线性影响,提高准确率。当时似懂非懂,也没有追问为什么离散化特征可以解决非线性问题。最近想到这个问题,加以推敲,突然搞明白了,所以写下博文mark一下。纯属个人推敲结果,如果不对,敬请指出。

为了更清晰地说明问题,作如下几点假设:

(1)假设现在的分类问题里只有一维连续特征(即x为单维向量)

(2)假设真实决策面为​简单二次函数,即





​那么,真实的决策面应该是这样的:



二次函数决策面

​很显然,如果就拿x进行训练,训练出的模型只能是一维线性模型,形式如下





这样的模型效果肯定是不好的,因为它长成这个样子:



线性决策面

但是,如题目所说,如果我们将x进行分段处理,将x离散成高维的0/1向量(x1,x2,x3,……,xn),利用新的特征向量​(x1,x2,x3,……,xn)训练得到模型将会有如下形式:





首先,离散过程如下:





注意:(x1,x2,x3,……,xn)的值中只可能有一个为1,其它都为0。

那么,​决策面将会是一个分段函数(一个尽量拟合抛物线的分段函数):





新的模型在原来的坐标轴下会长成这个样子:





图画得不好,但是大概是这个意思,

如果将x作最大程度地细分,则可以对抛物线拟合得很好哦!!!

这下完全搞清楚了,就是因为这样,所以在实际操作中,将特征离散成高维的布尔特征可以解决逻辑回归中的非线性问题。​
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: