机器学习算法整理(二)

LR算法

逻辑回归主要用于二元分类问题,逻辑函数为
f ( x ; θ ) = 1 1 + e − θ T x f (x;\theta)= \frac{1}{1+e^{-{\theta}^Tx}} f(x;θ)=1+eθTx1
推导损失函数:
P ( y = 1 ∣ x ; θ ) = f ( x ; θ ) = 1 1 + e − θ T x P(y = 1|x;\theta) = f(x;\theta)=\frac{1}{1+e^{-{\theta}^Tx}} P(y=1x;θ)=f(x;θ)=1+eθTx1 P ( y = 0 ∣ x ; θ ) = 1 − P ( y = 1 ∣ x ; θ ) P(y = 0|x;\theta) = 1-P(y = 1|x;\theta) P(y=0x;θ)=1P(y=1x;θ)
每个样本相互独立,则似然函数为:
L ( θ ) = ∏ i ∈ { 1 , … , N } . y ( i ) = 1 P ( y = 1 ∣ x ( i ) ; θ ) ⋅ ∏ i ∈ { 1 , … , N } . y ( i ) = 0 P ( y = 0 ∣ x ( i ) ; θ ) L(\theta) = \prod_{i\in\{1,\ldots,N\}.y^{(i)}=1}P(y = 1|x^{(i)};\theta) \cdot\prod_{i\in\{1,\ldots,N\}.y^{(i)}=0}P(y = 0|x^{(i)};\theta) L(θ)=i{1,,N}.y(i)=1P(y=1x(i);θ)i{1,,N}.y(i)=0P(y=0x(i);θ) L ( θ ) = ∏ i ∈ { 1 , … , N } . y ( i ) = 1 P ( y = 1 ∣ x ( i ) ; θ ) ⋅ ∏ i ∈ 1 , … , N } . y ( i ) = 0 ( 1 − P ( y = 1 ∣ x ( i ) ; θ ) ) L(\theta) = \prod_{i\in\{1,\ldots,N\}.y^{(i)}=1}P(y = 1|x^{(i)};\theta) \cdot\prod_{i\in{1,\ldots,N\}.y^{(i)}=0}}(1-P(y = 1|x^{(i)};\theta)) L(θ)=i{1,,N}.y(i)=1P(y=1x(i);θ)i1,,N}.y(i)=0(1P(y=1x(i);θ))对其取对数:
J ( θ ) = − l n L ( θ ) = − ∑ i = 1 N y ( i ) l n ( P ( y = 1 ∣ x ( i ) ; θ ) ) + ( 1 − y ( i ) ) l n ( 1 − P ( y = 1 ∣ x ( i ) ; θ ) ) J(\theta)= -lnL(\theta)=-\sum_{i=1}^Ny^{(i)}ln(P(y = 1|x^{(i)};\theta)) +(1-y^{(i)})ln(1-P(y = 1|x^{(i)};\theta)) J(θ)=lnL(θ)=i=1Ny(i)ln(P(y=1x(i);θ))+(1y(i))ln(1P(y=1x(i);θ))

梯度下降法:

对于 f ( z ) = 1 1 + e z f (z)= \frac{1}{1+e^{z}} f(z)=1+ez1的导函数是 f ′ ( z ) = f ( z ) ( 1 − f ( z ) ) f'(z)=f(z)(1-f(z)) f(z)=f(z)(1f(z))
链式求导法则求得参数 θ \theta θ
θ = θ − α ⋅ ( f ( x i ; θ ) − y i ) x i \theta=\theta-\alpha\cdot(f(x_i;\theta)-y_i)x_i θ=θα(f(xi;θ)yi)xi

算法优化:随机梯度下降法

当大数据量时,上述方法需要遍历所有样本,造成梯度下降缓慢。
随机梯度下降是根据步长选择一部分样本进行梯度下降,再向最优点前进,最终在最优点附近震荡。

实践

代码练习Titanic

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值