当前位置: 首页 > news >正文

晋中做网站最专业网站建设公

晋中做网站,最专业网站建设公,厦门商场网站建设,广州做外贸网站的公司逻辑回归 逻辑回归主要是解决分类问题 回归任务#xff1a;结果是一个连续的实数分类任务#xff1a;结果是一个离散的值 分类任务不能直接使用回归去预测#xff0c;比如在手写识别中#xff08;识别手写 0 − − 9 0 -- 9 0−−9#xff09;#xff0c;因为各个类别…逻辑回归 逻辑回归主要是解决分类问题 回归任务结果是一个连续的实数分类任务结果是一个离散的值 分类任务不能直接使用回归去预测比如在手写识别中识别手写 0 − − 9 0 -- 9 0−−9因为各个类别之间没有大小之差。 因此对于分类问题我们最终的输出是个概率即属于某个类别的概率是多少然后从概率集合里找最大值作为当前预测的结果 下载MNIST数据集 import torchvision train_set torchvision.dataset.MNIST(root../dataset/mnist, trainTrue, downloadTrue) test_set torchvision.dataset.MNIST(root../dataset/mnist, trainFalse, dowloadTrue)通过train参数来指定训练集和测试集 逻辑回归 将之前的学习时长—考试分数转化为二分类任务即学习时长—是否通过考试 x(hours)y(pass/fail)10fail20fail31pass4? 其中 P ( y ^ 1 ) P ( y ^ 0 ) 1 P(\hat y 1) P(\hat y 0) 1 P(y^​1)P(y^​0)1 当输出的概率在 0.5 0.5 0.5附近时即模型不确定因此通常会输出一个不确定的值 对于二分类任务逻辑回归会先使用回归生成一个得分值即落在实数集区间内然后再使用 s i g m o i d sigmoid sigmoid函数将得分值映射到 [ 0 , 1 ] [0, 1] [0,1]区间内得到预测概率 s i g m o i d sigmoid sigmoid函数 σ ( x ) 1 1 e − x \sigma (x) \frac{1}{1e^{-x}} σ(x)1e−x1​ S i g m o i d Sigmoid Sigmoid常用来做二分类任务常具备三个特征 饱和函数单调递增有极限 当我们使用线性回归来得到逻辑回归的得分值时逻辑回归模型的函数定义就如下所示 y ^ σ ( x ∗ ω b ) \hat y \sigma (x*\omega b) y^​σ(x∗ωb) 损失函数 线性回归使用的损失函数是计算预测值和真实值之差 而对于逻辑回归由于我们得到的是概率是一个 0 − 1 0-1 0−1分布因此需要修改损失函数 l o s s − ( y l o g y ^ ( 1 − y ) l o g ( 1 − y ^ ) ) loss -(ylog\hat y (1-y)log(1-\hat y)) loss−(ylogy^​(1−y)log(1−y^​)) 即我们比较的是分布之间的差异 交叉熵 c r o s s − e n t r o p y cross-entropy cross−entropy 存在两个分布 P D 1 ( x ) P_{D1}(x) PD1​(x)和 P D 2 ( x ) P_{D2}(x) PD2​(x) 两个分布的差异程度使用公式 ∑ i 1 n P D 1 ( x i ) l n P D 2 ( x i ) \sum_{i1}^{n}P_{D1}(x_i)lnP_{D2}(x_i) ∑i1n​PD1​(xi​)lnPD2​(xi​) 来衡量 上述公式越大时两个分布的差异越小 模型的改变 模型构造的改变 class LogisticRegressionModel(torch.nn.Module):def __init__(self):super(LogisticRegressionModel, self).__init__()self.linear torch.nn.Linear(1, 1)# 由于逻辑回归中Sigmoid函数不需要传参 所以在forward中直接计算即可# 在这里不需要实例化def forward(self, x):y_pred F.sigmoid(self.linear(x))return y_pred需要先将输入写入到linear()线性模型中再使用Sigmoid()函数 模型损失函数的改变 使用交叉熵函数BCELoss criterion torch.nn.BCELoss(size_averageFalse)整体代码 import torch import matplotlib.pyplot as plt import numpy as np########## 数据集准备 ########## x_data torch.Tensor([[1.0], [2.0], [3.0]]) y_data torch.Tensor([[0], [0], [1]])########## 模型定义 ########## class LogisticRegressionModel(torch.nn.Module):def __init__(self):super(LogisticRegressionModel, self).__init__()self.linear torch.nn.Linear(1, 1)# 由于逻辑回归中Sigmoid函数不需要传参 所以在forward中直接计算即可# 在这里不需要实例化def forward(self, x):y_pred torch.sigmoid(self.linear(x))return y_predmodel LogisticRegressionModel()########## 损失函数和优化器的设置 ########## criterion torch.nn.BCELoss(size_averageFalse) # BCELoss -- 交叉熵函数 optimizer torch.optim.SGD(model.parameters(), lr0.01)########## 模型训练 ########## for epoch in range(1000):y_pred model(x_data)loss criterion(y_pred, y_data)print(epoch, loss.item())optimizer.zero_grad()loss.backward()optimizer.step()########## 模型测试 ########## x np.linspace(0, 10, 200) x_test torch.Tensor(x).view((200, 1)) # view()相当于reshape y_test model(x_test) y y_test.data.numpy() # 转化为np类型 plt.plot(x, y) plt.plot([0, 10], [0.5, 0.5], r--) plt.xlabel(Hours) plt.ylabel(Probability of Pass) plt.grid() plt.show()
http://www.hkea.cn/news/14364414/

相关文章:

  • 一键网站提交crm客户管理系统
  • 网站模板psd素材晨光科技+网站建设
  • 做运营必知网站中国建设招标网站中标公告
  • 关于政务网站建设西宁企业网站开发定制
  • 视频网站如何做引流积分商城小程序
  • interidea 做网站小程序流量点击推广平台
  • 做淘宝客网站wordpress 跳转
  • 网站后台更新没有变化推荐一些外国做产品网站
  • 学习建设网站书籍深圳做个网站要多少钱
  • Dw怎么做网站往里面加标题和字北京做网站公司哪家强
  • 网站建站网站建设用dw做网站毕业设计
  • html5移动端手机网站开发流程做旅游网站犯法吗
  • 1280的界面网站做多宽陕西网渭南站
  • 网页网站制作公司公司网站建设模板免费
  • 建设专业网站网络厦门免费推广平台
  • 帮人做网站为爱直播视频
  • 做网站的盈利点有了域名和空间怎么建网站
  • 做网站找哪个公司好做网站需要的资料
  • 苏州做网站最好公司有哪些做公司网站哪家好重庆九龙坡区
  • 网站的网络推广策略有哪些烟台怎么做网站
  • 可以用tomcat.做网站吗网站开发绩效考核与薪酬
  • 如何编辑网站标题潍坊个人网站制作
  • 怎么做电玩网站网站正能量免费软件
  • 网站开发哪家公司葫芦岛做网站的公司
  • 服务器部署php网站徐州网站建设
  • 图片展示网站php源码河北企业建站系统信息
  • 怎么做网站板块seo自媒体运营技巧
  • 网站服务器安装教程视频部队网站建设设计
  • 网站开发示例最佳线上网站制作模板
  • wordpress对接静态网页优化网站图片