第 1 周任务
分类问题:K-邻近算法
分类问题:决策树
第 2 周任务
分类问题:朴素贝叶斯
分类问题:逻辑回归
第 3 周任务
分类问题:支持向量机
第 4 周任务
分类问题:AdaBoost
第 5 周任务
回归问题:线性回归、岭回归、套索方法、逐步回归等
回归问题:树回归
第 6 周任务
聚类问题:K均值聚类
相关问题:Apriori
第 7 周任务
相关问题:FP-Growth
第 8 周任务
简化数据:PCA主成分分析
简化数据:SVD奇异值分解
1.简介
logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。然后通过logistic回归分析,可以得到自变量的权重,从而可以大致了解到底哪些因素是胃癌的危险因素。同时根据该权值可以根据危险因素预测一个人患癌症的可能性。
1.1. Logistic回归
Logistic回归是众多分类算法中的一员。通常,Logistic回归用于二分类问题,例如预测明天是否会下雨。当然它也可以用于多分类问题,不过为了简单起见,本文暂先讨论二分类问题。首先,让我们来了解一下,什么是Logistic回归。
首先考虑线性分类器z = w_0 + w_1x_1 +……+ w_kx_k
,为了进行分类任务,利用sigmoid函数将z映射为概率进行分类。Logistic回归通过假设每个事件服从伯努利分布(1,p),而p则受sigmoid函数控制。根据伯努利分布,可写出每个事件的概率分布,再利用极大似然法可求出参数w_1…w_k
,下面分别讨论每一个步骤
Sigmoid函数
Logistic回归中的sigmoid函数形式如下
其中
若利用概率将其写成一个等式来描述y的分布,即 p ( y ) = g ( z ) y ( 1 − g ( z ) ) 1 − y p(y) = g(z)^y(1-g(z))^{1-y} p(y)=g(z)y(1−g(z))1−y
Sigmoid函数有一些特性,其导数如下
极大似然推导
假设每个事件 b ( 1 , g ( z i ) ) b(1,g(z_i)) b(1,g(zi)),则根据上文 p ( y i ) = g ( z i ) y i ( 1 − g ( z i ) ) 1 − y i p(y_i) = g(z_i)^{y_i}(1-g(z_i))^{1-y_i} p(yi)=g(zi)yi(1−g(zi))1−yi,由此可求出似然函数L(w)
L ( w ) = ∏ i = 1 n g ( z i ) y i ( 1 − g ( z i ) ) 1 − y i L(w) = \prod_{i=1}^n g(z_i)^{y_i}(1-g(z_i))^{1-y_i} L(w)=i=1∏ng(zi)yi(1−g(zi))1−y