逻辑回归(Logistic Regression)详解大数据

一 什么是逻辑回归

     
 
首先,LR虽然名字里有回归,但它并不是解决回归问题,而是解决分类问题的。
       另外,有人会问,为线性回归提供阈值来做分类不可以吗? 不可以,因为阈值是无法准确定义,模型是容易被样本数据拉偏的。   之所以LR是个分类问题,
却被叫做回归,因为它利用了sigmoid函数。 sigmoid 可以将数据(LR中指输出y)压缩到[0, 1]之间,它经过一个重要的点(0, 0.5)。这样,将输出压缩到[0,1]之间,
0.5作为边界值,大于0.5作为一类,小于0.5作为另一类。 对应边界的自变量是0.   而0可以作为一条曲线线上点的值,例如y = a*x + b直线上的点值为0.  所以可以
将一条曲线作为输入作为sigmoid的自变量,这样又利用到了线性回归的知识。  所以逻辑回归可以理解为线性回归和sigmoid的结合
                               
逻辑回归(Logistic Regression)详解大数据 ,   
逻辑回归(Logistic Regression)详解大数据     

二 损失函数

       模型 :
逻辑回归(Logistic Regression)详解大数据 ,
                   
逻辑回归(Logistic Regression)详解大数据
              将自变量使用参数回归后交给sigmoid函数,这就是逻辑回归的模型函数     
              则z =  
逻辑回归(Logistic Regression)详解大数据  是判定边界(有高次项时是非线性判定边界,否则是线性判定边界),因为这是模型输出值0.5的分界。
 
       损失函数
               使用的loss function:
              
逻辑回归(Logistic Regression)详解大数据, 这样,y值偏差越大(h 与y偏差大)时,loss会很大
              则
              
逻辑回归(Logistic Regression)详解大数据 
逻辑回归(Logistic Regression)详解大数据
              加上正则化项:
              

                            
逻辑回归(Logistic Regression)详解大数据
逻辑回归(Logistic Regression)详解大数据

              GD 参数迭代:
                
逻辑回归(Logistic Regression)详解大数据

三  特色

        1.  LR分类是,将样本分开就停止迭代,决策边界不唯一; svm会选择一个更加健壮的决策边界
        2. LR输出概率,是一个0~1之间的概率,所以适合做ranking model; svm只能输出分类结果,当然可以计算预测点到超平面的距离
        3. 训练快; 添加特征简单

四 使用说明

      1. 工业使用中很少使用高次项(二次项都较少使用),可能会使用多个线性逼近
      

    2. 如果连续变量,注意做SCALING,缩放单位即标准化。LR对样本分布敏感,所以要注意样本的平衡性(y=1不能太少)样本量足的情况下采用下采样,不足的情况用上采样。

    3.LR对于特征处理非常重要,常用处理手段包括,通过组合特征引入个性化因素(FM,FFM);注意特征的频度;聚类、HASH。但LR不怕特征大,GBDT比较怕。对于连续变量的离散化,可以用CART查看离散的结果,生成新的特征,再用LR。

    4.LR和FM对于稀疏高维特征处理是无压力的,GBDT对于连续值自己会找到合适的切分点,xgboost也可以处理category类型的feature,无需one-hot,平展开的高维稀疏特征对它没好处。

    5.算法调优方面,选择合适的正则化,正则化系数,收敛阈值e,迭代轮数,调整loss function给定不同权重;bagging或其他方式的模型融合;最优算法选择(‘newton-cg’,’lbfgs’, ‘liblinear’);bagging或其他模型融合。Sklearn中的LR实际上是liblinear的封装。

    6.LR和SVM对于线性切分都有着比较好的表现,对于非线性切分,必须在原始数据上做一些非线性变换。LR必须做feature mapping,比如把X做个平方项,X1*X2等;SVM则需要利用核函数

      7. 本人代码可以参考: https://github.com/liuleigit/ML_tutorial/LogicRegression

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/9354.html

(0)
上一篇 2021年7月19日 09:25
下一篇 2021年7月19日 09:25

相关推荐

发表回复

登录后才能评论