机器学习之逻辑回归

逻辑回归(Logistic regression)是统计学习中经典的分类方法,其基本用法是用于二分类,但是也很容易推广到多分类。

1.逻辑函数(sigmoid 函数)

首先介绍一下sigmoid函数,其基本形式如下:
g ( x ) = 1 1 + e − x g(x)=\frac{1}{1+e^{-x}} g(x)=1+ex1
其图像如下
在这里插入图片描述
当z趋向无穷大时,g(z)趋向与1,当z趋向无穷小时,g(z)趋向于0。
通常,输入的样本是向量x,要学习的参数矩阵是w和b,样本的标记是 Y ∈ Y\in Y{0,1}。此时回归模型如下
P ( Y = 1 ∣ x ) = 1 1 + e x p ( − z ) P(Y=1|x)=\frac{1}{1+exp(-z)} P(Y=1x)=1+exp(z)1
P ( Y = 0 ∣ x ) = 1 − 1 1 + e x p ( − z ) P(Y=0|x)=1-\frac{1}{1+exp(-z)} P(Y=0x)=11+exp(z)1
其中z=w*x,应学习到响应的参数矩阵w,使得标记为1的样本,其z值尽量大,标记为0的样本,其z值尽量小。学习的过程需要通过最优化损失函数来进行。下面简单介绍二分类中损失函数的定义。

逻辑回归模型是由一系列权值系数w决定的,问题关键就是如何获得这一组系数。通常是通过极大似然函数获得的。
似然函数是统计模型中参数的函数,也就是w中每一个系数的函数。当输出确定,也就是给定了每个样本的标签值y,关于参数w的似然函数L(w|y)数值上等于给定w,输出值为y的概率。因此当似然函数越大,其输出值为y的可信度越高,因此可以通过对似然函数取极大值来获得参数w的最优解。

逻辑回归模型学习时,对于训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x n , y n ) } T=\{(x_1,y_1),(x_2,y_2)...(x_n,y_n)\} T={(x1,y1),(x2,y2)...(xn,yn)},其中 y i ∈ { 0 , 1 } y_i\in\{0,1\} yi{0,1},设 P ( y = 1 ∣ x ) = p ( x i ) P ( y = 0 ∣ x ) = 1 − p ( x i ) P(y=1|x)=p(x_i)\quad P(y=0|x)=1-p(x_i) P(y=1x)=p(xi)P(y=0x)=1p(xi)
则似然函数为 ∏ i = 1 n [ p ( x ) ] y i [ 1 − p ( x ) ] 1 − y i \prod_{i=1}^{n}[p(x)]^{y_i}[1-p(x)]^{1-y_i} i=1n[p(x)]yi[1p(x)]1yi
取对数为 ∑ i = 1 n y i l o g p ( x i ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) \sum_{i=1}^{n}y_ilogp(x_i)+(1-y_i)log(1-p(x_i)) i=1nyilogp(xi)+(1yi)log(1p(xi))

其中 p ( x i ) = 1 1 + e x p ( w ∗ x ) p(x_i)=\frac{1}{1+exp(w*x)} p(xi)=1+exp(wx)1
对似然函数求最大值,即为对其求最小值
L ( w ) = − ∑ i = 1 n ( y i l o g π ( x i ) + ( 1 − y i ) l o g ( 1 − π ( x i ) ) L(w)=-\sum_{i=1}^{n}(y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i)) L(w)=i=1n(yilogπ(xi)+(1yi)log(1π(xi))
此即为logit loss函数,也叫交叉熵损失函数。对L(w)求最小值,即可得到w的参数估计。求最小值的方法有很多,如梯度下降法,牛顿法等等。

2. 多项逻辑回归

二项分类的逻辑回归很容易推广到多分类问题。设现在有一个n类分类问题,则可以构建一个n维标签向量 y = ( y 1 , y 2 . . . . y n ) y=(y^1,y^2....y^n) y=(y1,y2....yn),其中只有1个值 y i y^i yi为1,其余都为0,表示该样本归于第i个分类。
对于单个样本,似然函数可以写成:
∏ i = 1 n p i ( x ) y i \prod_{i=1}^np^i(x)^{y^i} i=1npi(x)yi
其中 p i ( x ) p^i(x) pi(x)表示模型预测向量的第n个分量,由于 y i y^i yi只有1个分量为1,其余为0,因此似然函数可以化简为 p ( x ) p(x) p(x)
对于一共有N个样本的数据集,其似然函数为
∏ i = 1 N p ( x i ) \prod_{i=1}^{N}p(x_i) i=1Np(xi)
取对数得
L ( w ) = ∑ i = 1 N l o g ( p ( x i ) ) L(w)=\sum_{i=1}^Nlog(p(x_i)) L(w)=i=1Nlog(p(xi))其中对于每一个样本,其 p ( x i ) p(x_i) p(xi)为模型输出向量中,取值为1的对应第i个分量的值。
其中模型输出值 p ( x ) 定 义 为 p(x)定义为 p(x)
p ( x i ) = e x p ( w ∗ x ) ∑ j = 1 n e x p ( w ∗ x j ) p(x^i) = \frac{exp(w*x)}{\sum_{j=1}^nexp(w*x^j)} p(xi)=j=1nexp(wxj)exp(wx)
此为soft函数,其可以将模型输出变量进行归一化处理,对输出的值进行指数式放大或者缩小。
采用最优化方法求的L(W)对w矩阵的最小值,即可求得问题的解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值