机器学习笔记(十一)——逻辑回归

一、引言

    虽然说是逻辑回归,其实既可以用它做回归,也可以用它做分类。一般我们从最简单的二分类问题开始了解他,当然也可以做多分类。

二、Logistic Regression 的一般步骤

  1. 找一个合适的假设
  2. 构造损失函数
  3. 让损失函数最小,求出对应的参数值

三、二分类问题下Logistic Regression的过程

3.1 Logistic Function

    在机器学习笔记(十)——Logistic Function AND Softmax Function中我们已经讨论过了Logistic 函数,因此,建议不熟悉的读者参考上述文章。

3.2 找一个合适的假设

    假设样本是各个贷款人的信息,标签是他是否违约。目标是建立一个模型,用来预测一个贷款人违约的可能性,而银行根据这个信息决定是否放款给当前的贷款人。那么,很明显,这是一个分类问题,根据贷款人的一些信息和已知的标签,我们建立模型,去预测新来的贷款人违约的可能性。这里将贷款人的各个信息,如学历、年收入、信用卡违约次数等作为 x ,将他是否违约记为 y ,其中y=1表示违约, y=0 表示不违约。那么,一个贷款人违约的可能性为:

hθ(x)=g(θTx)=11+eθTx

其中, θ 是参数向量。通过上式,可以将借款人的各个信息映射到(0,1)之间,表示他是否违约的可能性。
P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθ(x)

将上式表示成一个式子:
P(y|x;θ)=hθ(x)y(1hθ(x))1y

至此,得到了一个给定贷款人信息时,他违约概率的表达式。

3.3 构造损失函数

    在整个样本集中, m 个独立样本出现的似然函数是:

L(θ)=i=1mP(yi|xi;θ)

利用最大似然求 θ ,取对数最大似然:

l(θ)=logL(θ)=i=1mlogP(yi|xi;θ)

定义下式为损失函数:
J(θ)=1ml(θ)=1mi=1mlog[hθ(xi)yi(1hθ(xi))1yi]=1mi=1m{yiloghθ(xi)+(1yi)log[1hθ(xi)]}

最大化 l(θ) 相当于最小化 J(θ) .

3.4 让损失函数最小,求出对应的参数值

    优化的目标函数如下:

minJ(θ)

由于上式中的 θ 是一个参数向量,因此,没办法用函数导数等于0直接求出,它是没有解析解的,因此,我们可以采用梯度下降的方法求得极小值。梯度下降方法请参照 最优化学习笔记(三)——梯度下降法
J(θ)θ=1mi=1m{T(θ)θ}(1)

其中:
T(θ)=yloghθ(x)+(1y)log[1hθ(x)]

T(θ)θ=y1hθ(x)hθ(x)θ+(1y)11hθ(x)(hθ(x)θ)=hθ(x)θ(yhθ(x)+(y1)1hθ(x))=hθ(x)θ(yhθ(x)hθ(x)(1hθ(x)))

因为:
hθ(x)θ=hθ(x)(1hθ(x))x

则:
T(θ)=(yhθ(x))x

由于取的是样本集中的第 i 个样本,所以将上式代入(1)
J(θ)θ=1mi=1m(yihθ(xi))xi=1mi=1m(hθ(xi)yi)xi

这样,就可以得到 θ 的迭代公式:
θ=θ+αJ(θ)θ=θ+α1mi=1m(hθ(xi)yi)xi2

需要说明的是,我们可以从2式中看出,每次计算一次 θ ,都要进行全部样本数据的计算,直到 θ 收敛,还有一种可以采用随机梯度法进行计算,这样只需要遍历一遍数据集即可,下次讨论。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值