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


    原文: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作最大程度地细分,则可以对抛物线拟合得很好哦!!!

    这下完全搞清楚了,就是因为这样,所以在实际操作中,将特征离散成高维的布尔特征可以解决逻辑回归中的非线性问题。​

  • 相关阅读:
    数据库原理学习笔记
    嵌入式SQL
    Oracle ProC编程、嵌入SQL
    配置ORACLE的PRO*C环境
    SQL Server数据库_判断表(库)是否存在
    Dreamweaver连接SQL数据库步骤
    ylmf os 将雨林木风的系统diy定制成自个儿个人的专用系统
    完美解决CSS网页水平居中垂直居中
    《奋斗》经典幽默台词
    WCF 4.0 REST Service JSON跨域调用
  • 原文地址:https://www.cnblogs.com/zhizhan/p/5038565.html
Copyright © 2020-2023  润新知