博客
关于我
pytorch入门第五课——逻辑斯蒂回归
阅读量:687 次
发布时间:2019-03-17

本文共 1290 字,大约阅读时间需要 4 分钟。

前言

本文记录了学习刘洪普老师的PyTorch入门课中逻辑斯蒂回归的内容。通过实践与理论学习,深入理解逻辑斯蒂回归的原理及其在分类任务中的应用。

以下是本文的目录结构:

目录

  • 1. 方法
  • 2. 关于激活函数
  • 3. Jupyter Notebook示例

一、方法

逻辑斯蒂回归并非传统意义上的回归算法,而是一种分类模型。它通过对分类概率进行建模,避免了对数据分布的假设,能够更准确地反映分类结果。

逻辑斯蒂函数的数学表达式为:

$$P(y=1|x) = \sigma(b + wx)$$

其中,$\sigma$ 是逻辑斯蒂激活函数,定义为:

$$\sigma(x) = \frac{1}{1 + e^{-x}}$$

逻辑斯蒂函数的主要特点包括:范围限制于(0,1),单调递增,并且具有饱和特性(随着输入值的远离零点,激活值趋近于1或0)。

二、Jupyter Notebook示例

以下是构建逻辑斯蒂回归模型的代码示例:

import torch
import torch.nn.functional as F
class LogisticRegressionModel(torch.nn.Module):
def __init__(self):
super(LogisticRegressionModel, self).__init__()
self.linear = torch.nn.Linear(1, 1)
\n def forward(self, x):
y_pred = F.sigmoid(self.linear(x))
return y_pred
model = LogisticRegressionModel()
criterion = torch.nn.BCELoss(size_average=False)
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
\n
for epoch in range(1000):
y_pred = model(x_data)
loss = criterion(y_pred, y_data)
print(f'Epoch {epoch}, Loss: {loss.item()}'."
optimizer.zero_grad()
loss.backward()
optimizer.step()

通过上述代码可以观察到以下训练效果:

Training Loss Trend:

0: 2.8701

1: 2.8529
2: 2.8366
3: 2.8209
4: 2.8061
5: 2.7920
6: 2.7786
7: 2.7658
8: 2.7536
9: 2.7419

随着训练次数的增加,损失值逐渐下降,表明模型在学习样本数据集。

三、总结

逻辑斯蒂回归是一种简单而有效的分类模型,通过对数据进行概率建模,避免了对分布假设的依赖。如果你有分类任务需要处理,不妨考虑使用逻辑斯蒂回归来解决问题。记住,在实践中,保持数据的平衡性和多样性是提升模型性能的关键。

转载地址:http://hmzhz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现A*(A-Star)算法(附完整源码)
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现abbreviation缩写算法(附完整源码)
查看>>
Objective-C实现ABC人工蜂群算法(附完整源码)
查看>>
Objective-C实现activity selection活动选择问题算法(附完整源码)
查看>>
Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
查看>>
Objective-C实现adaboost算法(附完整源码)
查看>>
Objective-C实现Adler32算法(附完整源码)
查看>>
Objective-C实现AES算法(附完整源码)
查看>>
Objective-C实现AffineCipher仿射密码算法(附完整源码)
查看>>
Objective-C实现aliquot sum等分求和算法(附完整源码)
查看>>
Objective-C实现all combinations所有组合算法(附完整源码)
查看>>
Objective-C实现all permutations所有排列算法(附完整源码)
查看>>
Objective-C实现all subsequences所有子序列算法(附完整源码)
查看>>
Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
查看>>
Objective-C实现alternate disjoint set不相交集算法(附完整源码)
查看>>
Objective-C实现alternative list arrange备选列表排列算法(附完整源码)
查看>>
Objective-C实现An Armstrong number阿姆斯特朗数算法(附完整源码)
查看>>
Objective-C实现anagrams字谜算法(附完整源码)
查看>>
Objective-C实现ApproximationMonteCarlo蒙特卡洛方法计算pi值算法 (附完整源码)
查看>>