Logistic 回归

分类

Logistics使用logistics函数对特征和输出类别的概率进行建模,而使用线性模型输出表示分类的概率时不能保证概率特性(如概率介于0、1之间),如下

P(y=true|x)=wf
但是使用线性输出结果可以表示不同分类发生的几率,
P(y=true|x)P(y=false|x)=P(y=true|x)1P(y=true|x)=wf

上式等式两边的值域范围不同,使用自然对数解决这个问题

lnP(y=true|x)1P(y=true|x)=wf

解上式得
P(y=true|x)=ewf1+ewf=11+ewf
P(y=false|x)=11+ewf
11+ewf 是逻辑斯谛函数,其一般形式为 11+ex .
逻辑斯谛回归模型用于分类(classification,也称inference)的方法是通过计算不同类别的条件概率,如 y=true ,则有
P(y=true|x)P(y=false|x)>1
ewf>1
wf>0
ewf>1
|w| 维空间的超平面,所以使用超平面的判别问题在逻辑斯谛回归模型中借助了条件概率从比较概率大小的角度进行判别。

目标函数

线性判别模型的参数学习通过缩小训练集上的误差平方和进行,逻辑斯谛模型参数的学习是通过最大化条件概率,即

w=argmaxw iP(yi|xi)
等价于
w=argmaxw ilogP(yi|xi)
求解该最大值的方法有拟牛顿法、梯度下降等。
注释:逻辑斯谛回归可用于二分类问题中,而上面介绍的MEMM模型是多项逻辑斯谛模型,可用于K分类问题。

应用场景:根据学生的两门课程的分数和是否被录取的历史数据,对新的学生两门课程的分数推断其是否被录取。R实现的logistic 分类程序如下。

#Load data
data <- read.csv("data.csv")
#Create plot
plot(data$score.1,data$score.2,col=as.factor(data$label),xlab="Score-1",ylab="Score-2")

这里写图片描述

#Predictor variables
X <- as.matrix(data[,c(1,2)])
#Add ones to X
X <- cbind(rep(1,nrow(X)),X)
#Response variable
Y <- as.matrix(data$label)

定义 P(yi=true|xi)=11+eθxi

#Sigmoid function
sigmoid <- function(z)
{
g <- 1/(1+exp(-z))
return(g)
}

损失函数为负的极大似然函数: P(yi|xi) 等价于 logP(yi|xi) 即:

这里写图片描述

#Cost Function
cost <- function(theta)
{
m <- nrow(X)
g <- sigmoid(X%*%theta)
J <- (1/m)*sum((-Y*log(g)) - ((1-Y)*log(1-g)))
return(J)
}
#Intial theta
initial_theta <- rep(0,ncol(X))
#Cost at inital theta
cost(initial_theta)

# Derive theta using gradient descent using optim 
theta_optim <- optim(par=initial_theta,fn=cost)
theta_optim$count
print(theta_optim)
#set theta
theta <- theta_optim$par
theta
#cost at optimal value of the theta
theta_optim$value
# probability of admission for student
prob <- sigmoid(t(c(1,45,85))%*%theta)
prob 

注:logistics 回归是广义线性模型中的一种特殊情况。
参考:
http://www.r-bloggers.com/logistic-regression-with-r-step-by-step-implementation-part-2/

广义线性模型
1.Agresti A. Foundations of linear and generalized linear models[M]. John Wiley & Sons, 2015.
2.Agresti A, Kateri M. Categorical data analysis[M]. Springer Berlin Heidelberg, 2011.
3.Gelman A, Hill J. Data analysis using regression and multilevel/hierarchical models[M]. Cambridge University Press, 2006.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值