机器学习入门之《统计学习方法》笔记整理——逻辑斯谛回归
2018-03-04 08:36
423 查看
逻辑回归(logistic regression)是统计学习中的经典分类方法。其多用在二分类{0,1}问题上。最大嫡是概率模型学习的一个准则将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑回归模型与最大熵模型都属于对数线性模型。
目录
逻辑斯谛回归模型
逻辑斯谛分布
二项逻辑斯谛回归模型
模型参数估计
多项逻辑斯谛回归
参考文章
F(x)=P(X≤x)=11+e−(x−μ)/γF(x)=P(X≤x)=11+e−(x−μ)/γ
f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2
分布函数属于逻辑斯谛函数,其图形是一条S形曲线。
二项逻辑斯谛回归模型是如下条件概率分布:
P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)
P(Y=0|x)=11+exp(w⋅x+b)P(Y=0|x)=11+exp(w⋅x+b)
其中,x∈Rn,Y∈{0,1}x∈Rn,Y∈{0,1} ,w∈Rnw∈Rn 和b∈Rb∈R .
逻辑回归对线性回归经行了归一化操作,将输出范围规定在{0,1}。
几率,指一件事件发生的概率与不发生的概率的比值,那么事件的对数几率或logit函数是
logit(p)=logp1−plogit(p)=logp1−p
因此,
logit(p)=logP(Y=1|x)1−P(Y=1|x)=w⋅xlogit(p)=logP(Y=1|x)1−P(Y=1|x)=w⋅x
这就是说,在逻辑回归模型中,输出Y=1的对数几率是输入x的线性函数。
通过逻辑回归模型可以将线性函数转化为概率:
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)
线性函数值越接近正无穷,概率越接近1;线性函数值越接近负无穷,概率值越接近0。这样的模型称为逻辑回归模型。
Python代码如下:
似然函数:
∏i=1NP(Y=1|xi)yi(1−P(Y=1|xi))1−yi∏i=1NP(Y=1|xi)yi(1−P(Y=1|xi))1−yi
对数似然函数:
L(w)=∑i=1N[yilogP(Y=1|xi)+(1−yi)log(1−P(Y=1|xi))]=∑i=1N[yilogP(Y=1|xi)1−P(Y=1|xi)+log(1−P(Y=1|xi))]=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]L(w)=∑i=1N[yilogP(Y=1|xi)+(1−yi)log(1−P(Y=1|xi))]=∑i=1N[yilogP(Y=1|xi)1−P(Y=1|xi)+log(1−P(Y=1|xi))]=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]
这样子,我们有了损失函数,这里我们只要将该函数极大化即可,求其最大值时的ww 即可。
具体过程可参考Andrew Ng的CS229讲义, Part 2 logistic regression部分,翻译)
P(Y=k|x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,...,K−1P(Y=k|x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,...,K−1
P(Y=K|x)=11+∑k=1K−1exp(wk⋅x)P(Y=K|x)=11+∑k=1K−1exp(wk⋅x)
统计学习方法 李航—第6章 逻辑回归与最大熵模型
目录
逻辑斯谛回归模型
逻辑斯谛分布
二项逻辑斯谛回归模型
模型参数估计
多项逻辑斯谛回归
参考文章
逻辑斯谛回归模型
逻辑斯谛分布
设X是连续随机变量,XX 服从逻辑斯谛分布是指XX 具有下列分布函数和密度函数F(x)=P(X≤x)=11+e−(x−μ)/γF(x)=P(X≤x)=11+e−(x−μ)/γ
f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2
分布函数属于逻辑斯谛函数,其图形是一条S形曲线。
二项逻辑斯谛回归模型
二项逻辑回归模型(binomial logistic regression model)是一种分类模型,用于二类分类。由条件概率分布P(Y|X)P(Y|X) 表示,形式为参数化的逻辑分布。这里,随机变量X取值为实数,随机变量Y取值为1或0。二项逻辑斯谛回归模型是如下条件概率分布:
P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)
P(Y=0|x)=11+exp(w⋅x+b)P(Y=0|x)=11+exp(w⋅x+b)
其中,x∈Rn,Y∈{0,1}x∈Rn,Y∈{0,1} ,w∈Rnw∈Rn 和b∈Rb∈R .
逻辑回归对线性回归经行了归一化操作,将输出范围规定在{0,1}。
几率,指一件事件发生的概率与不发生的概率的比值,那么事件的对数几率或logit函数是
logit(p)=logp1−plogit(p)=logp1−p
因此,
logit(p)=logP(Y=1|x)1−P(Y=1|x)=w⋅xlogit(p)=logP(Y=1|x)1−P(Y=1|x)=w⋅x
这就是说,在逻辑回归模型中,输出Y=1的对数几率是输入x的线性函数。
通过逻辑回归模型可以将线性函数转化为概率:
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)
线性函数值越接近正无穷,概率越接近1;线性函数值越接近负无穷,概率值越接近0。这样的模型称为逻辑回归模型。
Python代码如下:
import numpy as np def predict(x,w): return 1.0/1.0+np.e**(-x.dot(w)) def iter_w(x, y, a, w): prediction = predict(x,w) g = (prediction - y) * x w = w+ a * g * (1.0 / y.size) return w while counter < max_epochs: counter += 1 for i in range(len(Y)): w = update(X[i,:], Y[i], a, w)
模型参数估计
逻辑斯谛回归模型学习时,可以利用极大似然估计法估计模型参数似然函数:
∏i=1NP(Y=1|xi)yi(1−P(Y=1|xi))1−yi∏i=1NP(Y=1|xi)yi(1−P(Y=1|xi))1−yi
对数似然函数:
L(w)=∑i=1N[yilogP(Y=1|xi)+(1−yi)log(1−P(Y=1|xi))]=∑i=1N[yilogP(Y=1|xi)1−P(Y=1|xi)+log(1−P(Y=1|xi))]=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]L(w)=∑i=1N[yilogP(Y=1|xi)+(1−yi)log(1−P(Y=1|xi))]=∑i=1N[yilogP(Y=1|xi)1−P(Y=1|xi)+log(1−P(Y=1|xi))]=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]
这样子,我们有了损失函数,这里我们只要将该函数极大化即可,求其最大值时的ww 即可。
具体过程可参考Andrew Ng的CS229讲义, Part 2 logistic regression部分,翻译)
多项逻辑斯谛回归
多项逻辑斯谛回归用于多分类问题,其模型为P(Y=k|x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,...,K−1P(Y=k|x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,...,K−1
P(Y=K|x)=11+∑k=1K−1exp(wk⋅x)P(Y=K|x)=11+∑k=1K−1exp(wk⋅x)
参考文章
《统计学习方法》第六章逻辑斯蒂回归与最大熵模型学习笔记统计学习方法 李航—第6章 逻辑回归与最大熵模型
相关文章推荐
- 机器学习入门之《统计学习方法》笔记——朴素贝叶斯法
- 机器学习入门之《统计学习方法》笔记整理——决策树
- 机器学习入门之《统计学习方法》笔记整理——提升方法
- 机器学习入门之《统计学习方法》笔记整理——K近邻法
- 机器学习入门之《统计学习方法》笔记整理——最大熵模型
- 机器学习入门之《统计学习方法》笔记整理——感知机
- 机器学习/深度学习入门资源整理v1.0
- 机器学习入门资源推介
- 机器学习入门(三):神经网络起手式
- Udacity机器学习入门笔记——决策树
- 机器学习入门
- python机器学习入门资料梳理
- 《机器学习/深度学习入门资源整理》增补 v0.1
- [一点一点入门机器学习] k近邻算法
- [机器学习入门] 李宏毅机器学习笔记-23(Support Vector Machine;支持向量机)
- 机器学习入门——单变量线性回归
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
- [机器学习入门] 李宏毅机器学习笔记-5(Classification- Probabilistic Generative Model;分类:概率生成模型)
- Scikit-learn-python机器学习工具入门学习