sigmoid

Interpreting a sigmoid result as probability in neural networks

只谈情不闲聊 提交于 2020-08-10 05:25:05
问题 I've created a neural network with a sigmoid activation function in the last layer, so I get results between 0 and 1. I want to classify things in 2 classes, so I check "is the number > 0.5, then class 1 else class 0". All basic. However, I would like to say "the probability of it being in class 0 is x and in class 1 is y ". How can I do this? Does a number like 0.73 tell me it's 73% sure to be in class 1? And then 1-0.73 = 0.27 so 27% in class 0? When it's 0.27, does that mean it's 27% sure

Fit sigmoid function (“S” shape curve) to data using Python

ぐ巨炮叔叔 提交于 2020-03-21 12:03:23
问题 I'm trying to fit a sigmoid function to some data I have but I keep getting: ValueError: Unable to determine number of fit parameters. My data looks like this: My code is: from scipy.optimize import curve_fit def sigmoid(x): return (1/(1+np.exp(-x))) popt, pcov = curve_fit(sigmoid, xdata, ydata, method='dogbox') Then I get: --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-5-78540a3a23df> in <module> 2

Neural Networks and Deep Learning(week4)Building your Deep Neural Network: Step by Step

試著忘記壹切 提交于 2020-03-10 18:10:19
Building your Deep Neural Network: Step by Step 你将使用下面函数来构建一个深层神经网络来实现图像分类。 使用像relu这的非线性单元来改进你的模型 构建一个多隐藏层的神经网络(有超过一个隐藏层) 符号说明: 1 - Packages(导入的包) numpy :进行科学计算的包 matplotlib :绘图包 dnn_utils:提供一些必要功能 testCases 提供一些测试用例来评估函数的正确性 np.random.seed(1) 设置随机数种子,易于测试。 import numpy as np import h5py import matplotlib.pyplot as plt from testCases_v2 import * from dnn_utils_v2 import sigmoid, sigmoid_backward, relu, relu_backward %matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) # 设置最大图像大小 plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray' %load_ext autoreload

机器学习实战python3 Logistic Regression

我怕爱的太早我们不能终老 提交于 2020-03-09 20:16:18
代码及数据: https://github.com/zle1992/MachineLearningInAction logistic regression 优点:计算代价不高,易于理解实现,线性模型的一种。 缺点:容易欠拟合,分类精度不高。但是可以用于预测概率。 适用数据范围:数值型和标称型。 准备数据: 1 def loadDataSet(): 2 dataMat,labelMat = [],[] 3 with open(filename,"r") as fr: #open file 4 for line in fr.readlines(): 5 lineArr = line.split() #split each line 6 dataMat.append([1.0,float(lineArr[0]),float(lineArr[1])]) #创建2维list 7 labelMat.append(int(lineArr[2])) 8 return dataMat,labelMat 1 基于Logistic回归和Sigmoid函数的分类 Sigmoid函数: 1 def sigmoid(inX): 2 return 1.0/(1+np.exp(-inX)) 2基于最优化方法的最佳回归系数确定 梯度上升法: 梯度上升法的伪代码如下: 每个回归系数初始化为1 重复R次:

DataWhale组队打卡学习营task04-3 LeNet

眉间皱痕 提交于 2020-03-08 09:43:35
lenet 模型介绍 lenet 网络搭建 运用lenet进行图像识别-fashion-mnist数据集 Convolutional Neural Networks 使用全连接层的局限性: 图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。 对于大尺寸的输入图像,使用全连接层容易导致模型过大。 使用卷积层的优势: 卷积层保留输入形状。 卷积层通过滑动窗口将同一卷积核与不同位置的输入重复计算,从而避免参数尺寸过大。 LeNet 模型 LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。 卷积层块里的基本单位是卷积层后接平均池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的平均池化层则用来降低卷积层对位置的敏感性。 卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用 的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。 全连接层块含3个全连接层。它们的输出个数分别是120、84和10,其中10为输出的类别个数。 下面我们通过Sequential类来实现LeNet模型。 #import import sys sys . path . append ( "/home/kesci/input" ) import d2lzh1981 as d2l

简单粗暴理解与实现机器学习之神经网络NN(一):神经网络基础详谈、感知器PLA、playground使用、神经网络发展史

白昼怎懂夜的黑 提交于 2020-03-07 19:18:45
文章目录 7.1 神经网络基础 学习目标 7.1.1 神经网络 7.1.1.1 感知机(PLA: Perceptron Learning Algorithm)) 7.1.2 playground使用 7.1.2.1 playground简单两类分类结果 但是这种结构的线性的二分类器,但不能对非线性的数据并不能进行有效的分类。如下面异或问题例子: 相当于给出这样的数据 7.1.2.2 单神经元复杂的两类-playground演示 那么怎么解决这种问题呢?其实我们多增加层或者多几个感知机即可解决?也就是下图这样的结构,组成一层的结构? 7.1.2.3多个神经元效果演示 7.1.3 神经网络发展史 7.1 神经网络基础 学习目标 目标 了解感知机结构、作用以及优缺点 了解tensorflow playground的使用 说明感知机与神经网络的联系 说明神经网络的组成 应用 无 7.1.1 神经网络 人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN) 。是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的 计算模型 。经典的神经网络结构包含三个层次的神经网络。 分别输入层,输出层以及隐藏层。 其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。 神经网络的特点 1

04 基于神经网络的逻辑回归实现 - 神经网络和深度学习 [Deep Learning Specialization系列]

巧了我就是萌 提交于 2020-03-07 03:11:54
本文是 Deep Learning Specialization 系列课程的第1课《 Neural Networks and Deep Learning 》中Logistic Regression with a Neural Network mindset练习部分的笔记。 在《 02 神经网络 - 神经网络和深度学习 [Deep Learning Specialization系列] 》中,我们了解了神经网络的大部分理论知识。通过该编程实例,我们能构建一个简答的逻辑回归的分类器来识别猫,以复习神经网路的知识并了解具体的编程实现。 概述 本试验使用的是 h5 格式的数据集,该数据集包含有标注结果的训练数据和测试数据,通过以下7个步骤来完成神经网络的训练和预测: 数据加载 数据处理 参数初始化 逻辑回归函数的实现(正向传播) 损失/代价函数的实现(正向传播) 梯度递减算法的实现(反向传播) 预测 1. 数据加载 h5 格式的数据的读取是通过 h5py 库来实现的,简单的介绍可以参考我的上一篇文章《 h5py - HDF5 for Python的简单入门 》。 首先构建一个 load_dataset() 函数来完成数据的加载,该函数通过 h5py.File() 函数来读取 h5 格式的数据文件,将训练数据和测试数据做一个简单处理后,输出 train_set_x_orig , train

动手学深度学习——卷积神经网络2 LeNet

自古美人都是妖i 提交于 2020-03-04 00:02:26
白嫖伯禹平台,还是要感谢一下,打波广告。 主要是学习笔记, 解决问题的可以忽略本博客,以免浪费时间与精力 主要介绍 三个方面 lenet 模型介绍 lenet 网络搭建 运用lenet进行图像识别-fashion-mnist数据集 LeNet 模型 LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。 模型结构如下 包括:输入层,两层卷积层,两层全连接隐藏层,和一个全连接输出层 卷积层块里的基本单位是卷积层后接平均池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的平均池化层则用来降低卷积层对位置的敏感性。 卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用 5×5 的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。 全连接层块含3个全连接层。它们的输出个数分别是120、84和10,其中10为输出的类别个数。 下面我们通过Sequential类来实现LeNet模型。 #import import sys sys.path.append("/home/kesci/input") import d2lzh1981 as d2l import torch import torch.nn as nn import torch.optim as optim import time

5_diabetes_logistics

徘徊边缘 提交于 2020-03-02 12:01:05
import torch import numpy as np import torch . nn as nn from torch . autograd import Variable class Model ( nn . Module ) : def __init__ ( self ) : super ( Model , self ) . __init__ ( ) self . l1 = nn . Linear ( 8 , 6 ) self . l2 = nn . Linear ( 6 , 4 ) self . l3 = nn . Linear ( 4 , 1 ) self . sigmoid = nn . Sigmoid ( ) def forward ( self , x ) : ''':arg x 数据输入变量 在前向函数中,我们接受输入数据的变量,我们必须返回 输出数据的变量。 我们可以使用构造函数中定义的模块作为 以及变量上的任意运算符。 ''' out1 = self . sigmoid ( self . l1 ( x ) ) out2 = self . sigmoid ( self . l2 ( out1 ) ) y_pred = self . sigmoid ( self . l3 ( out2 ) ) return y_pred def run ( self

零基础入门深度学习(四):卷积神经网络基础之池化和Relu

天涯浪子 提交于 2020-02-27 10:03:27
课程名称 | 零基础入门深度学习 授课讲师 | 孙高峰 百度深度学习技术平台部资深研发工程师 授课时间 | 每周二、周四晚20:00-21:00 编辑整理 | 孙高峰 内容来源 | 百度飞桨深度学习集训营 出品平台 | 百度飞桨 01 导读 本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越。从本课程中,你将学习到: 深度学习基础知识 numpy实现神经网络构建和梯度下降算法 计算机视觉领域主要方向的原理、实践 自然语言处理领域主要方向的原理、实践 个性化推荐算法的原理、实践 本周为开讲第三周,百度深度学习技术平台部资深研发工程师孙高峰,开始讲解深度学习在计算机视觉方向实践应用。今天为大家带来的是卷积神经网络基础之池化和Relu。 02 池化(Pooling) 池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出,其好处是当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过约化某一片区域的像素点来得到总体统计特征会显得很有用。由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。如 图10 所示