实现机器学习的循序渐进指南IV——逻辑回归

目录

介绍

逻辑回归模型

参数估计

优化算法

分类

结论与分析


可访问 实现机器学习的循序渐进指南系列汇总,获取本系列完成文章列表。 

介绍

逻辑回归是统计学习中的经典方法,它计算条件概率P(Y|X)并使用较大的标签作为预测。具体而言,二项逻辑回归模型是:

其中wb是权重和偏见。为方便起见,展开权重向量和偏见向量,即

然后,二项逻辑回归模型是:

逻辑回归模型

逻辑回归模型由参数估计,优化算法和分类组成。

参数估计

实现机器学习的循序渐进指南III——朴素贝叶斯中,我们使用最大似然函数来估计贝叶斯模型中的参数。同样,我们使用最大似然函数来估计逻辑回归模型中的参数。如下

其中:

g(x)也被称为sigmoid函数。似然函数是:

为方便起见,我们采用了似然函数的对数,即:

然后,问题转化为计算似然函数的最大值。

优化算法

因为,我们无法得到似然函数导数的解析解。为了获得似然函数的最大值,我们应用渐变上升方法,即:

计算似然函数的导数:

让导数等于零,我们可以得到:

因此,我们可以通过上面的等式得到优化的参数。梯度上升方法的代码如下所示:

if method == "GA":
weights = np.random.normal(0, 1, [feature_dim, 1])
for i in range(iterations):
    pred = self.sigmoid(np.dot(train_data, weights))
    errors = train_label - pred
    # update the weights
    weights = weights + alpha * np.dot(train_data.T, errors)
self.weights = weights
return self

分类

在逻辑回归模型中,应用sigmoid函数计算概率,表示为:

当结果大于时0.5,样本属于类1,否则它属于类0

def sigmoid(self, x, derivative=False):
    output = 1/(1 + np.exp(-x))
    if derivative:
       output = output * (1 - output)
    return output

结论与分析

为了获得逻辑回归模型的参数,我们还可以最小化损失函数。最后,让我们将逻辑回归与Sklearn进行比较,检测性能如下所示:

两者的检测性能相似。

可以在MachineLearning找到本文中的相关代码和数据集。

有兴趣的小伙伴可以查看上一篇或者下一篇

 

原文地址:https://www.codeproject.com/Articles/4061324/Step-by-Step-Guide-to-Implement-Machine-Learning-4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值