博客
关于我
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/

你可能感兴趣的文章
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+php的搭建
查看>>
nginx+tomcat+memcached
查看>>
nginx+Tomcat性能监控
查看>>
nginx+uwsgi+django
查看>>
Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
查看>>
nginx-vts + prometheus 监控nginx
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>