活动地址:CSDN21天学习挑战赛
我们无法做到,根据年龄和是否的冠心病的散点图,得到回归
——因此,我们将年龄这个连续值和是否的冠心病进行转换
——然后,我们就能得到逻辑斯特回归曲线
背景:1838年由比利时学者Verhulst首次提出;1920年美国学者Bearl & Reed在研究果蝇的繁殖中发现和使用该函数,并在人口估计和预测中推广使用
l o g i s t i c 函数的值域为 [ 0 , 1 ] f ( x ) = e x 1 + e x 用 p i = P ( y i = 1 ∣ x i 1 , x i 2 , . . . , x i p ) logistic函数的值域为[0,1]\\ f(x)=\frac{e^x}{1+e^x}\\ 用 p_i=P(y_i=1|x_{i1},x_{i2},...,x_{ip}) logistic函数的值域为[0,1]f(x)=1+exex用pi=P(yi=1∣xi1,xi2,...,xip)
作为因变量,得到 l o g i s t i c 回归模型 p i = e x p ( α + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p ) 1 + e x p ( α + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p ) l n p i 1 − p i = α + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p p i 就是患病的概率 作为因变量,得到logistic回归模型\\ p_i=\frac{exp(\alpha+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip})}{1+exp(\alpha+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip})}\\ ln\frac{p_i}{1-p_i}=\alpha+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip}\\ p_i就是患病的概率 作为因变量,得到logistic回归模型pi=1+exp(α+β1xi1+β2xi2+...+βpxip)exp(α+β1xi1+β2xi2+...+βpxip)ln1−pipi=α+β1xi1+β2xi2+...+βpxippi就是患病的概率
最简单的逻辑回归就是线性分类器,如左图
而如右图的,则是非线性的分类器
——为什么是逻辑回归是线性分类器
∙ 逻辑斯特回归函数: l n p i 1 − p i = α + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p L o g i t ( l o g i s t i c p r o b a b i l i t y u n i t ) 变换 : 定义: L o g i t ( p i ) = l n p i 1 − p i ∙ 得到 L o g i t ( p i ) = α + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p + ε i L o g i t 变换的特点: L o g i t ( p i ) = l n p i 1 − p i ∈ ( 0 , + ∞ ) [ 正类 ] L o g i t ( p i ) = l n p i 1 − p i ∈ ( − ∞ , 0 ) [ 负类 ] \bullet 逻辑斯特回归函数:\\ ln\frac{p_i}{1-p_i}=\alpha+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip}\\ Logit(logistic\,\,probability\,\,unit)变换:\\ 定义:Logit(p_i)=ln\frac{p_i}{1-p_i}\\ \bullet 得到Logit(p_i)=\alpha+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip}+\varepsilon_i\\ Logit变换的特点:\\ Logit(p_i)=ln\frac{p_i}{1-p_i}\in (0,+\infty)[正类]\\ Logit(p_i)=ln\frac{p_i}{1-p_i}\in (-\infty,0)[负类]\\ ∙逻辑斯特回归函数:ln1−pipi=α+β1xi1+β2xi2+...+βpxipLogit(logisticprobabilityunit)变换:定义:Logit(pi)=ln1−pipi∙得到Logit(pi)=α+β1xi1+β2xi2+...+βpxip+εiLogit变换的特点:Logit(pi)=ln1−pipi∈(0,+∞)[正类]Logit(pi)=ln1−pipi∈(−∞,0)[负类]
l n P 1 − P = β 0 + β 1 X 1 + β 2 X 2 + . . . + β m X m = l o g i t P ln\frac{P}{1-P}=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_mX_m=logitP ln1−PP=β0+β1X1+β2X2+...+βmXm=logitP
模型参数意义:
常数项 β 0 \beta_0 β0
表示暴露剂量为0时个体发病与不发病概率之比的自然对数
回归系数 β j ( j = 1 , 2 , . . . , m ) \beta_j(j=1,2,...,m) βj(j=1,2,...,m)
表示自变量改变一个单位时logitP的改变量
流行病学衡量危险因素作用大小的比数比例指标
计算公式为: O R j = P 1 / ( 1 − P 1 ) P 0 / ( 1 − P 0 ) 计算公式为:\\ OR_j=\frac{P_1/(1-P_1)}{P_0/(1-P_0)}\\ 计算公式为:ORj=P0/(1−P0)P1/(1−P1)
表示自变量变化以后,发病概率的变化情况
比如,自变量=0时,发病概率是 P 0 1 − P 0 \frac{P_0}{1-P_0} 1−P0P0
自变量=1时,发病概率是 P 1 1 − P 1 \frac{P_1}{1-P_1} 1−P1P1
因此优势比OR反映的是发病概率的变化情况
式中 P 0 P_0 P0和 P 1 P_1 P1分别表示在同一危险因素 X j X_j Xj取值为 c 0 c_0 c0及 c 1 c_1 c1时的发病概率
O R j OR_j ORj称作多变量调整后的优势比,表示扣除了其他自变量影响后危险因素的作用
即只考虑一个变量,对整个发病的影响
与 l o g i s t i c P 的关系: ∙ 对比某一危险因素两个不同暴露水平 X j = c 0 与 X j = c 1 的发病情况 假定其他因素的水平相同,则优势比的自然对数为: l n O R j = l n [ P 1 / ( 1 − P 1 ) P 0 / ( 1 − P 0 ) ] = l o g i t P 1 − l o g i t P 0 = ( β 0 + β j c 1 + ∑ t ≠ j m β t X t ) − ( β 0 + β j c 0 + ∑ t ≠ j m β t X t ) = β j ( c 1 − c 0 ) 与logisticP的关系:\\ \bullet 对比某一危险因素两个不同暴露水平X_j=c_0与X_j=c_1的发病情况\\ 假定其他因素的水平相同,则优势比的自然对数为:\\ lnOR_j=ln[\frac{P_1/(1-P_1)}{P0/(1-P_0)}]=logitP_1-logitP_0\\ =(\beta_0+\beta_jc_1+\sum_{t\neq j}^m\beta_tX_t)-(\beta_0+\beta_jc_0+\sum_{t\neq j}^m\beta_tX_t)\\ =\beta_j(c_1-c_0) 与logisticP的关系:∙对比某一危险因素两个不同暴露水平Xj=c0与Xj=c1的发病情况假定其他因素的水平相同,则优势比的自然对数为:lnORj=ln[P0/(1−P0)P1/(1−P1)]=logitP1−logitP0=(β0+βjc1+t=j∑mβtXt)−(β0+βjc0+t=j∑mβtXt)=βj(c1−c0)
即得 O R j = e x p [ β j ( c 1 − c 0 ) ] OR_j=exp[\beta_j(c_1-c_0)] ORj=exp[βj(c1−c0)]
若 X j = { 1 暴露 0 非暴露 , c 1 − c 0 = 1 若X_j= \begin{cases} 1&暴露\\ 0&非暴露 \end{cases} ,c_1-c_0=1 若Xj={10暴露非暴露,c1−c0=1
则有 O R j = e x p β j β j { = 0 , O R j = 1 无作用 > 0 , O R j > 1 危险因子 < 0 , O R j < 1 保护因子 则有OR_j=exp\beta_j\\ \beta_j \begin{cases} =0,OR_j=1&无作用\\ \ >0,OR_j>1&危险因子\\ <0,OR_j<1&保护因子\\ \end{cases} 则有ORj=expβjβj⎩ ⎨ ⎧=0,ORj=1 >0,ORj>1<0,ORj<1无作用危险因子保护因子
在一个具有17个家庭的样本里,共有3家的收入为¥10000,5家的收入为¥11000,9家的收入为¥12000
在收入¥10000的家庭里,1个主妇不工作,2个主妇工作
在收入¥11000的家庭里,1个主妇不工作,4个主妇工作
在收入¥12000的家庭里,1个主妇不工作,8个主妇工作
收入 | 不工作 | 工作 | 总计 |
---|---|---|---|
10 | 1 | 2 | 3 |
11 | 1 | 4 | 5 |
12 | 1 | 8 | 9 |
总计 | 3 | 14 | 17 |
收入 | 不工作 | 工作 | 工作概率 |
---|---|---|---|
10 | 1 | 2 | 2/3 |
11 | 1 | 4 | 4/5 |
12 | 1 | 8 | 8/9 |
当X分别取10和11时:
O R j = 4 5 / ( 1 − 4 5 ) 2 3 / ( 1 − 2 3 ) = 4 / 2 = 2 OR_j=\frac{\frac{4}{5}/(1-\frac{4}{5})}{\frac{2}{3}/(1-\frac{2}{3})}=4/2=2\\ ORj=32/(1−32)54/(1−54)=4/2=2
当X分别取11和12时:
O R j = 8 9 / ( 1 − 8 9 ) 4 5 / ( 1 − 4 5 ) = 8 / 4 = 2 OR_j=\frac{\frac{8}{9}/(1-\frac{8}{9})}{\frac{4}{5}/(1-\frac{4}{5})}=8/4=2\\ ORj=54/(1−54)98/(1−98)=8/4=2
说明:
针对同一个分类面,哪一个分类面更好
W在数值上越小越好,这样越能抵抗数据的扰动
——如何找到这个尽可能小的参数,因此引入我们的逻辑回归正则化
正则化表达式: L 1 = ∑ i = 0 m ∣ w i ∣ L 2 = ∑ i = 0 m w i 2 正则化表达式:\\ L_1=\sum_{i=0}^m|w_i|\\ L_2=\sum_{i=0}^mw_i^2 正则化表达式:L1=i=0∑m∣wi∣L2=i=0∑mwi2
E = ∑ i = 1 n ( y i − 1 1 + e − ( w 1 x i 1 + w 2 x i 2 + w 0 ) ) 2 + λ L 1 E = ∑ i = 1 n ( y i − 1 1 + e − ( w 1 x i 1 + w 2 x i 2 + w 0 ) ) 2 + λ L 2 E=\sum_{i=1}^n(y_i-\frac{1}{1+e^{-(w_1x_{i1}+w_2x_{i2}+w_0)}})^2+\lambda L_1\\ E=\sum_{i=1}^n(y_i-\frac{1}{1+e^{-(w_1x_{i1}+w_2x_{i2}+w_0)}})^2+\lambda L_2\\ E=i=1∑n(yi−1+e−(w1xi1+w2xi2+w0)1)2+λL1E=i=1∑n(yi−1+e−(w1xi1+w2xi2+w0)1)2+λL2
一个有趣的结论:
L 1 L_1 L1适合降低维度
L 2 L_2 L2也称为岭回归,有很强的概率意义
——回顾到数据预处理学习的Z-score规范化
CSDN——Caaaaaan-数据预处理
梯度下降法的选择
两种梯度:
L-BFGS为SGD的优化方法,它的训练速度比SGD快
数值归一化 | 正则化 | 梯度下降法 | 分类个数 | 数据选择 | |
---|---|---|---|---|---|
L-BFGS | 需要均值归一化,算法融入方差归一化 | 支持L2正则化 | L-BFGS(收敛快,考虑二阶导数) | 支持多分类 | 加载所有数据都参与训练 |
SGD | 不归一化,需要专门在外面进行归一化 | 支持L1,L2 | SGD | 不支持多分类 | 随机从训练集选取(支持 M i n i B a t c h F r a c t i o n MiniBatchFraction MiniBatchFraction) |
logistic回归对噪声数据敏感
分类和回归都可用于预测,分类的输出是离散的类别值,而回归的输出是连续数值