数据挖掘之三——Logistic回归&LMT

线性关系与非线性关系

在数学上,线性函数关系是直线,而非线性函数关系是非直线,包括各种曲线、折线、不连续的线等;线性方程满足叠加原理,非线性方程不满足叠加原理;线性方程易于求出解析解,而非线性方程一般不能得出解析解,而求其最优解。

可处理线性关系——Logistic Regression

Logistic Regression 就是一个被logistic方程归一化后的线性回归,其可用于概率预测,也可用于分类。并不是所有的机器学习方法都可以做可能性概率预测(比如SVM就不行,它只能得到1或者-1)。可能性预测的好处是结果有可比性:比如我们得到不同广告被点击的可能性后,就可以展现点击可能性最大的N个。这样以来,哪怕得到的可能性都很高,或者可能性都很低,我们都能取最优的topN。当用于分类问题时,仅需要设定一个阈值即可,可能性高于阈值是一类,低于阈值是另一类

仅能用于线性问题,只有在feature和target是线性关系时,才能用Logistic Regression(不像SVM那样可以应对非线性问题)。这有两点指导意义,一方面当预先知道模型非线性时,果断不使用Logistic Regression; 另一方面,在使用Logistic Regression时注意选择和target呈线性关系的feature。

LR分类器(Logistic Regression Classifier),在分类情形下,LR分类器其实就是找出一组权值,形成计算样本数据出现概率密度的回归方程

为了计算某个事件发生的可能性即概率,可以把跟这个事件相关的所有特征加权求和。例如,要求今天下雨的可能性,可以把今天所有和下雨相关的特征与其概率加权求和,例如梅雨季节权重为9(每天都很可能下雨),有台风经过权重为6,等等,每一个因素都影响着“下雨的可能性”,即:

但是这个加权求和的结果是在(−∞,+∞) 范围内的,为了能表示预测的概率,我们希望把输出值限制在(0,1) 之间,而不是(−∞,+∞) 。所以,这时,逻辑函数就出场了。

它的函数值刚好就是在(0,1)之间。所以,我们通过逻辑函数,就可以计算出一个事件的概率了(0,1)之间。但是不要忘了,我们前面说要处理二分类问题,得到一个(0,1)之间的任意值并不能归到两个分类中的一个里去,所以还要把这个概率值“归类”。其实这里很简单,我们可以在f(X)>0.5 的时候,把它归到类别1中,f(X)≤0.5 的时候,把它归到类别2中就可以了(概率值的“分水岭”可以根据实际情况调整)。用数学公式来表达这段话的含义就是:

在各种机器学习的文章中,你都会看到,它们给了逻辑函数一个常用的名字:Sigmoid函数。sigmoid,意为“S形的”,这正符合其函数图像特点,所以大家记住就行了。

由于sigmoid函数的定义域是(-inf,inf),而值域为(0,1)。因此最基本的LR分类器适合对两类目标进行分类。

那么LR分类器的这一组权值是如何求得的呢?这就需要涉及到对数损失函数的概念了。

因此,我们只要找到一个参数向量θ ,能使得此式的值最小,那么这个参数向量θ 就是“最优”的参数向量。

求得了这个最优的θ 之后,把它代入逻辑函数sigmoid中,则对任一个未知的X ,我们都可以计算出f(X) 值,然后再根据一个阈值把它调整到 0 或 1,就得到了这个X 所属的分类,这样,我们就完成了一次“预测”的过程。

我们将sigmoid函数看成是样本数据的概率密度函数,每一个样本点,都可以通过上述的公式计算出其概率密度

应用举例

调用logistic回归函数,计算视力状况、年龄、驾车教育与是否发生事故的logistic回归模型。

1)x1:表示视力状况,分类变量,1表示好,0表示有问题;

2)x2:年龄,数值型;

3)x3:驾车教育,分类变量,1表示参加过驾车教育,0表示没有;

4)y:分类型输出变量,表示去年是否出过事故,1表示出过,0没有;

参考文献:https://moiedotblog.wordpress.com/2017/05/18/逻辑回归的一个简单实例/

可处理非线性关系——LMT

logistic模型树是对树叶使用logistic回归函数的分类树,该算法可以处理二元类别和多元类别目标变量。其组合树结构和Logistic回归模型,每个叶子节点是一个Logistic回归模型,准确性比单独的决策树和Logistic回归方法要好。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180414G0L41I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券