![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
deep learning
JasonDecode
这个作者很懒,什么都没留下…
展开
-
深度学习激活函数
sigmoid函数, 因为函数形状像S, moid表示像, 所以叫sigmoid激活函数,激活函数是用在网络模型中用于激活输出的结果, sigmoid的函数特性决定了它在二分类问题中的重要性, 由于梯度不容易消失, 所以是深度学习中最常用的函数, 但函数曲线决定了它的学习速度缓慢, 需要较长的epochs来学习。ReLu函数, 它弥补了sigmoid学习速度慢的不足, 能够很快的增加学习速度, 但容易产生梯度消失, 停止学习。这样就产生了介于两者之间的tanh函数, 它的特性, 在(-1, 1)之间..原创 2020-11-14 20:34:57 · 113 阅读 · 0 评论 -
word embeddings详细分析
如何让电脑识别图片, 图一通过CNN, 然后转化为一个fully-connected 向量表示所有的pixel。那么如何让计算机分析句子, 就需要用到同样的原理, 如果人类要理解一句话, 这句话并非你了解的语言,那么需要通过查字典来解决, 字典把每个单词按照字母顺序编排好, 然后我们按照单词顺序查询每个单词的意思即可。对于计算机, 是无法识别字母的, 可以通过把词向量转化为数字向量来代表。如上图, 可以通过one-hot vector来代表每一个词, 但这样会有缺点, 我们无法判断词与词之间的联系, ..原创 2020-10-30 18:46:15 · 1443 阅读 · 0 评论 -
learning rate, momentum和initial weight 对深度学习模型XOR的影响
import torchimport torch.utils.dataimport torch.nn.functional as Fimport numpy as npimport sysclass MyModel(torch.nn.Module): def __init__(self): super(MyModel, self).__init__() # define structure of the network here self.i原创 2020-10-05 08:03:13 · 189 阅读 · 0 评论 -
pytorch- normal_用法
import torchx = torch.zeros((2, 3))x.normal_(0, 1)tensor([[-0.8139, 0.6736, 0.3647], [ 0.3843, -0.2469, -0.9998]])normal(mean, variance)weight 初始化的正态分布。原创 2020-10-05 06:33:16 · 3989 阅读 · 0 评论 -
图解RNN
在遇到RNN问题时总是无法理解, 不像CNN那么形象, 其实RNN就是递归的神经网络, 它有两个输入, 一个输出, 比如一个厨师要从周一到周六按照做apple pie, burger, chicken的顺序递归, 那么, 一旦引入天气, 比如, 天气sunny, 重复昨天的, cloudy不受影响, 如上图, 这样的做饭,更符合实际, 但只有模型直到规律, 用户不知道这一规律,感觉就像加入了AI。...原创 2020-09-29 10:22:04 · 99 阅读 · 0 评论 -
CNN输出conv大小计算公式
原创 2020-09-29 08:13:05 · 2672 阅读 · 0 评论 -
forward pass和backpropagation
forward pass2. backpropagation原创 2020-09-27 21:09:16 · 1977 阅读 · 0 评论 -
激活函数tanh(x)求导
原创 2020-09-27 20:50:15 · 18373 阅读 · 0 评论 -
torch.nn.functional函数的应用
dim 必须为1, 这样才能满足softmax每一行相加为一。import torch.nn.functional as F# 4 samples, 2 output classeslogits = torch.randn(4, 2)print(F.softmax(logits, dim=1))tensor([[0.7018, 0.2982],[0.9550, 0.0450],[0.4557, 0.5443],[0.8057, 0.1943]])for item in F.softmax原创 2020-09-24 20:34:10 · 682 阅读 · 0 评论 -
different between linear regression and logistic regression
Linear regression is used for predicting the continuous dependent variable using a given set of independent features whereas Logistic Regression is used to predict the categorical. Linear regression is used to solve regression problems whereas logistic re.原创 2020-09-24 17:18:36 · 125 阅读 · 0 评论 -
softmax 函数代码计算分析作用
multinoulli distributionsoftmaxmultinomial distribution原创 2020-09-21 08:30:22 · 165 阅读 · 0 评论 -
dropout and zero padding
dropout原创 2020-09-20 16:26:26 · 92 阅读 · 0 评论 -
deep learning 四种激活函数比较
sigmoid 又叫S型函数, 是最长用的激活函数, 特点是在定义域内均可导, 这样可以避免出现学习停止现象, 因为一直有梯度, 但也容易产生,在大批量学习时, 后期学习太慢, 因为如果函数输入值越大,梯度越小。在反向传播时, 导致越来越小。最终梯度消失。tanh 函数, 也是常见的激活函数,与sigmoid相似, 好比tanh拉长了就变成了sigmoid, 输出为-1, 1。输出均值为0。 为了保证模型的准确性, 可以在隐藏层中使用tanh, 加快学习速度, 输出用sigmoid, 保证精确性。R..原创 2020-09-20 14:44:41 · 168 阅读 · 0 评论 -
python- torch.nn中nn.linear用法
import torch.nn as nnm = nn.Linear(20, 30)input = torch.randn(128, 20)output = m(input)print(output.size())torch.Size([128, 30])torch.Size([128, 30])intput: Am: Boutput: CAB = C原创 2020-09-16 23:00:00 · 3217 阅读 · 0 评论 -
通过TensorDataset对批量大数据的部分数据做测试
# Input (temp, rainfall, humidity)inputs = np.array([[73, 67, 43], [91, 88, 64], [87, 134, 58], [102, 43, 37], [69, 96, 70], [73, 67, 43], [91, 88, 64], [87, 134, 58], [102, 43, 37], [69, 96, 70]原创 2020-09-16 22:34:59 · 230 阅读 · 0 评论 -
CNNs中,什么是max pooling, 为什么需要max pooling
max pooling是发生在卷积层与池化层的一种图片压缩方法。而卷积层和池化层是CNNs中最重要的两部分,因为有卷积层, 所以叫做卷积神经网络。假设一张2d, 一层的图片, 大小为4 * 4, 用 2 * 2的大小过滤,移动的步速为2, 那么会得到一张2 * 2 的图片, 每一像素的取值为, filter的最大值,得到的图片为池化层。max pooling 主要有两个作用: a. 减小计算量;b. 消除noise....原创 2020-09-15 10:16:50 · 2823 阅读 · 0 评论 -
有关overfitting和underfitting的具体解释
如果给出上图的6个点, 该如何选择上图曲线才能更好的反映实际的数据情况?红色: 直线, 可以表示一定的数据, 但会造成大量数据丢失, 产生数据无法代表实际情况, 叫做underfitting。蓝色:一元四次方程, 可以表达数据中所有的点, 但过于复杂,并且无法达到真实的数据预测, 最下面一个点可能是较大的人为误差,或则记录数据错误, 并不能反映真实的数据模型, 叫做overfitting。绿色:虽然无法代表模型数据中的所有点, 但介于红色和蓝色之间, 可以更好的表达模型。实际中数据的获取可能有noi.原创 2020-09-14 19:47:34 · 3111 阅读 · 0 评论 -
deep learning的常用公式sigmoid function 和 softplus function 和 ReLU
根据以上公式可以推导出:原创 2020-09-14 10:27:01 · 160 阅读 · 0 评论 -
deep learning-通过坐标系转换解决线性不可分问题
笛卡尔(直角)坐标系无法分割图左的三角形和圆形, 如果把直角坐标系转化为极坐标, 可以容易的通过一条直线分割以上两种图案。原创 2020-09-13 20:58:50 · 147 阅读 · 1 评论 -
深度学习-图片识别原理-CNN
对于给定的一张图片, CNN是如何识别的:首先, 把图片分成 N * N 的像素, 每一个像素代表一个神经元, 所有的像素排成一排, 作为第一层的神经网络, 也就是输入层, 只有输入层的数据是已知的, 用于产生隐藏层的第一层。其次, 隐藏层的第一层, 用于识别边或棱, 也就是说,当第一场的像素输入后, 产生图像的边或棱。也就是只能识别图像最微不足道的地方。然后, 隐藏层的第一层作为隐藏层的第二层的输入, 产生角和轮廓, 隐藏层的第二层产生了更详细的图像内容。最后, 假设隐藏层一共有三层, 隐藏层.原创 2020-09-13 18:42:06 · 6625 阅读 · 0 评论 -
python: numpy加一个数与numpy矩阵相乘和torch对比以及相互转化
矩阵加一个数import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float)b = np.array(2, dtype=np.float)aarray([[1., 2., 3.], [4., 5., 6.]])barray(2.)c = a + bcarray([[3., 4., 5.], [6., 7., 8.]])矩阵相乘d = c[:, [0, 2]]dar.原创 2020-09-12 16:22:10 · 491 阅读 · 0 评论 -
深度学习识别手写数字原理
如何识别像素28 * 28手写数字3如果分成28 * 28 的网格具体如下:28 * 28 = 784, 可以由784个像素点代表3.大脑识别不用考虑这些像素点, 很容易识别, 这里不研究大脑如何识别, 而是电脑如何识别。大脑很容易区分3 和 6, 另外即使是3, 也有无数种写法, 这是难不倒大脑的。而计算机如何处理?如何是黑白图片, 可以根据灰度值作如下标记:黑色用0.0表示, 白色用1.0表示, 但无法识别是3.通过编写程序, 机器学习都无法解决这一问题, 这就需要提到神经网络, 根.原创 2020-09-11 17:38:04 · 7012 阅读 · 0 评论 -
deep learning-为什么要dropout
一般情况下, 全部神经元参与到激活函数的计算, 有时候需要去掉一些神经元, 达到更佳的计算效果, 一般每层神经网络去掉固定百分比50%, 这样可以达到更好的训练效果。这完全复合人类神经系统的功能, 由于各种原因, 并不是所有的神经元, 都参与, 只要有足够的神经元参与, 即可激活。这样一方面可以节省运算时间, 另一方面可以去掉一些对计算有影响的神经元。这一训练过程为:dropout training这一训练过程存在两种假设:underfitting 和 overfitting...原创 2020-09-09 22:09:32 · 154 阅读 · 0 评论 -
Python- pytorch基本操作tensor应用
查看tensor版本import torchtorch.__version__‘1.6.0’创建全0小数x = torch.empty(5, 3)xtensor([[8.9082e-39, 9.9184e-39, 8.4490e-39], [9.6429e-39, 1.0653e-38, 1.0469e-38], [4.2246e-39, 1.0378e-38, 9.6429e-39], [9.2755e-39, 9.7346e-3.原创 2020-09-09 19:24:13 · 490 阅读 · 0 评论 -
python-通过numpy和pytorch演示线性回归算法
首先需要了解代码中用到的MSE算法, MSE就是mean square error, 均方差的意思, 用来求loss损失函数, 预测实际值与预测值的差距。然后需要掌握,如何达到预测值的方法, SGD算法, 也叫梯度下降算法, 或反向传播算法, 其中用到链式法则。numpy 首先用于机器学习, 主要是对数组, 矩阵等的操作。通过numpy构造的函数, 可以学习到, 每一个函数构造的细节。import numpy as np# f = w * x# f = 2 * xx = np.arr.原创 2020-09-09 18:59:49 · 295 阅读 · 0 评论 -
python-numpy最全攻略十-random_sample, ranf, bitwise
np.random_sample() importing numpy import numpy as np # output random value out_val = np.random.random_sample() print ("Output random float value : ", out_val)Output random float value : 0.2450768662139805import numpy as geek # output .原创 2020-09-08 16:39:34 · 982 阅读 · 0 评论 -
python-numpy最全攻略九-equal, less, greater
numpy.equal()和numpy.not_equal()# This function checks for string1 == string2 elementwiseimport numpy as np # comparing a string elementwise# using equal() methoda=np.char.equal('geeks','for') print(a)Falseimport numpy as np # comparing a st.原创 2020-09-08 16:32:15 · 1580 阅读 · 0 评论 -
python-numpy最全攻略八-count, rfind, isnumeric
numpy.count()import numpy as np a=np.array(['geeks', 'for', 'geeks']) # counting a substringprint(np.char.count(a,'geek'))# This function returns the number of occurrences of a substring in the given string # counting a substringprint(np.char.co.原创 2020-09-08 16:26:07 · 520 阅读 · 0 评论 -
python-numpy最全攻略七-split, join, lower
numpy表示np.char.lowerimport numpy as np # converting to lowercaseprint(np.char.lower(['GEEKS', 'FOR'])) # converting to lowercaseprint(np.char.lower('GEEKS'))['geeks' 'for']geeksnumpy.split()import numpy as np # splitting a stringprint(n.原创 2020-09-08 16:22:02 · 417 阅读 · 0 评论 -
python-numpy最全攻略六-画图与点乘
numpy.linspace() 方法-> start : [optional] start of interval range. By default start = 0-> stop : end of interval range-> retstep : If True, return (samples, step). By deflut restep = False-> num : [int, optional] No. of samples to ge.原创 2020-09-08 16:19:03 · 767 阅读 · 0 评论 -
python-numpy最全攻略五-arrange, reshape, flatten
numpy reshape方法import numpy as np array = np.arange(8)print("Original array : \n", array) # shape array with 2 rows and 4 columnsarray = np.arange(8).reshape(2, 4)print("\narray reshaped with 2 rows and 4 columns : \n", array) # shape array wit.原创 2020-09-08 16:12:01 · 1038 阅读 · 0 评论 -
python-numpy最全攻略四-empty and zeros
通过array创建arrayimport array # initializing array with array values# initializes array with signed integersarr = array.array('i', [1, 2, 3]) print ("The new created array is : ",end="")for i in range (0,3): print (arr[i], end=" ") print ("\r".原创 2020-09-08 16:06:42 · 288 阅读 · 0 评论 -
python-numpy最全攻略三-sum
numpy sum方法import numpy as np arr1 = np.array([[4, 7], [2, 6]], dtype = np.float64)Sum1 = np.sum(arr1)print("\nAddition of Array elements: ")print(Sum1)Addition of Array elements: 19.0numpy sqrt方法import numpy as np arr1.原创 2020-09-08 16:03:19 · 238 阅读 · 0 评论 -
python-numpy最全攻略二-add
numpy相加减import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[4, 3], [2, 1]]) print ("Adding 1 to every element:", a + 1)print ("\nSubtracting 2 from each element:", b - 2)print ("\nSum of all.原创 2020-09-08 15:58:53 · 264 阅读 · 0 评论 -
python-numpy最全攻略一slice, index
numpy创建import numpy as np# 1-darr = np.array([1, 2, 3])print('1-d:', arr)# 2-darr = np.array([[1, 2, 3], [4, 5, 6]])print('2-d:', arr)# tuplearr = np.array((1, 3, 2))print('create by tuple:', arr)1-d: [1 2 3]2-d: [[1 2 3] [4.原创 2020-09-08 15:55:21 · 630 阅读 · 0 评论 -
deep learning 感知机/器perceptron
线性可分learning rate感知机转化函数线性可分学习率如果线性可分, 通过不断学习, 总能找到线性得分的直线。原创 2020-09-06 20:12:25 · 90 阅读 · 0 评论 -
深度学习CNN前置- 神经科学
可以说CNN的是完全由神经科学的启发而产生的。有必要了解其相关的神经科学知识。神经科学家对猫的视觉研究得出猫的神经神经是分层的, 不同层对物体的辨别功能不同, 比如较上层视觉神经辨别轮廓, 下层辨别细节等。而这一研究获得的诺贝尔奖, 之后计算机科学家对深度学习的研究, 根据这一原理, 获得了图灵奖。人类视觉看到的物体其实是通过光线进入视网膜, 再刺激光感细胞, 再传到大脑的视觉控制区产生的。所以视觉并非眼睛决定,眼睛只是通道, 而真正的认知是由大脑决定的。正是根据这一发现, 有了CNN。视网膜好比2原创 2020-09-04 22:06:49 · 235 阅读 · 0 评论 -
用文氏图解析条件概率与贝叶斯概率
B 的条件下, A 发生的概率:贝叶斯法则:原创 2020-09-01 10:12:50 · 2754 阅读 · 0 评论 -
deep learning sigmoid函数和softplus函数
Certain functions arise often while working with probability distributions,especially the probability distributions used in deep learning models.One of these functions is the logistic sigmoidAnother commonly encountered function is thesoftplus function.原创 2020-08-31 21:52:28 · 363 阅读 · 0 评论 -
deep learning概率论基本概念
Aprobability distributionis a description of how likely a random variable orset of random variables is to take on each of its possible states. The way wedescribe probability distributions depends on whether the variables are discrete orcontinuous.A proba.原创 2020-08-31 21:41:27 · 162 阅读 · 0 评论