DeepLearning
文章平均质量分 58
clyfk
青春值得你我骄傲!
展开
-
深度学习入门初探——C语言版的损失函数均方误差
其Python版的代码在前文已经实现,数据和结果也都是以此做参考和对比的。数学表达式和相关含义也都在此文有学习和论述:深度学习入门初探——损失函数均方误差https://www.toutiao.com/i7033783692963185188/?group_id=7033783692963185188 C语言基于前文的代码组织加入均方误差函数MaenSquaredError的实现:深度学习入门初探——C语言版的激活函数https://www.toutiao.com/...原创 2021-12-05 22:47:52 · 240 阅读 · 0 评论 -
深度学习入门初探——C语言版的softmax实现
在机器学习的问题上可以大致地分为分类问题和回归问题。回归问题简言之就是根据某个输入来预测或计算出一个数值的结果,基本上使用的就是恒等函数;而分类问题是数据属于哪一个类别的问题,二分类和多分类等,使用的是softmax函数。 其Python版的代码在这里:输出层的介绍深度学习入门初探——多层感知机的神经网络式实现https://www.toutiao.com/i7027833090944860710/?group_id=7027833090944860710...原创 2021-12-04 21:39:40 · 965 阅读 · 0 评论 -
深度学习入门初探——C语言版的激活函数
这个系列的学习,基本上没有使用过多Python依赖的库和第三方工具,更没有使用目前较火的框架(tf、pytorch、caffe)等,更多的采用了numpy。下面是Python版的激活函数:深度学习入门初探——简单的激活函数 C语言是过去几十年软件和硬件两个阵营之间签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。 现在比较火爆的tf,即是Google基于高层...原创 2021-12-02 23:51:13 · 691 阅读 · 0 评论 -
深度学习入门初探——损失函数交叉熵误差
在看交叉熵误差公式前,先来熟悉一下自然对数,自然对数是以常数e为底数的对数,数学中常见以logx表示自然对数。e是一个无限不循环小数,其值约等于2.718281828459…,是一个超越数。看代码,分析图: 代码不写注释,因为很明显了。之所以加了负号画出红线图形,是因为这个解释起来更容易一些,而且交叉熵误差函数也确实是取了负号的。 前文深度学习入门初探——多层感知机的神经网络式实现已经介绍过了,神经网络的输出softmax,值在0到1之间,1就是100%的...原创 2021-11-25 00:46:05 · 1516 阅读 · 0 评论 -
深度学习入门初探——损失函数均方误差
前文已经介绍了损失函数的目的是做什么了的: 深度学习入门初探——引出损失函数https://www.toutiao.com/i7033404064663126560/?group_id=7033404064663126560 这里呢,先来学习下均方误差这个损失函数是怎么计算的: y表示测试数据经过预测得到的结果,t表示测试数据的正确结果,k表示数据的维度。下面是python实现的代码:def maen_squared_error...原创 2021-11-23 23:45:41 · 1755 阅读 · 0 评论 -
深度学习入门初探——引出损失函数
学习----从数据中学习,指的是有数据自动决定权重参数的值。可以说数据是学习的命根子。这种数据驱动的方法,也可以说脱离了过往以人为中心的方法。 意指:在需要解决某个问题时,特别是需要发现某种模式时,神经网络和深度学习极力避免人为介入,而是尝试从收集到的数据中发现模式。这相比于传统的机器学习而言,那时特征模式的发现是由人预先针对特定领域设计出一定的特征向量,比如视觉中的SIFT、SURF和HOG等,数据通过特定的转换器提取出这样的特征向量。 而深度学习不需要...原创 2021-11-23 00:08:47 · 930 阅读 · 0 评论 -
深度学习入门初探——hello word式的手写数字识别二
对于深度学习来说,手写数字识别和编程语言第一程式打印hello word应该属于一个级别的了,下面先看下手写数字识别的网络会是什么样子,然后以此学习几个概念。 MNIST 数据集见上文深度学习入门初探——hello word式的手写数字识别一2 手写数字识别的推理处理 推理处理呢也称为神经网络的前向传播,这里假设训练已经结束,神经网络是个现成的,存储在sample_weight.pkl这个文件中。来看看这个网络是个什么样子哈。 数据的...原创 2021-11-16 23:47:26 · 1097 阅读 · 0 评论 -
深度学习入门初探——hello word式的手写数字识别一
对于深度学习来说,手写数字识别和编程语言第一程式打印hello word应该属于一个级别的了,下面先看下手写数字识别的数据是什么,然后以此学习几个概念。1 手写数字识别数据集MNIST MNIST 数据集由 0-9 单个数字的图片构成,训练图像6万个和1万个测试样本。对于数据的组成形式,代码来得更直观一些。简单的来说就是28*28像素的灰度图,shape成一维的就是784个数据,剩下的就是批处理多少个的问题了。这里建议大家熟悉一下数据在张量里的常见表示NCHW,对图像来...原创 2021-11-14 23:58:54 · 1240 阅读 · 0 评论 -
深度学习入门初探——多层感知机的神经网络式实现
这里将以前面两节的实现为基础,改进两个版本的代码,注意分析这两个代码和感知机实现的演进变化。深度学习入门初探——感知机的初级理解深度学习入门初探——简单的激活函数 在看源码之前,需要理解一下Numpy的几个乘法的区别: 对应元素相乘 : multiply 函数或 * 线性代数中矩阵乘法:dot函数或 matmul函数(二维与dot一样,可以支持更多的shape) 还有就是矩阵A*矩阵B和矩阵B*矩阵A可是不一样。...原创 2021-11-08 00:09:34 · 978 阅读 · 0 评论 -
深度学习入门初探——简单的激活函数
1 复习感知机 复习下前一节的感知机,先来看看公式: 如果稍微把式子从另外一个角度来描述呢: 激活函数已经显露出来了,h()即是。如果把a作为一个神经元,权重W有了,输入X有了,偏置b有了,a输出到y就得有激活函数来转换,这个激活函数就是阶跃函数:# coding: utf-8import numpy as npimport matplotlib.pylab as pltdef step_function(x): ...原创 2021-09-28 23:51:08 · 209 阅读 · 0 评论 -
人工智能-深度学习笔记7 神经网络的初始化参数
先来复习下上篇笔记的激活函数,其作用,可以理解为每个网络之间的处理器,但它归属于上一个网络,从上一个网络出来,做一下处理,然后再将输出的数据传到下一个网络或者输出。作用:提供非线性能力,增加运算简单度,增强鲁棒性(也就是神经网络系统稳定性)。性质:处处可微分,定义域为负无穷到正无穷, 值域在(-1,1)之间比如(0,1)(-1,1)。函数:sigmoid函数,tanh函数,Relu函数...转载 2019-03-12 17:41:21 · 398 阅读 · 0 评论 -
人工智能-深度学习笔记6 神经网络的激活函数
为什么神经网络需要激活函数,且是非线性的。记得之前的笔记中讨论过将线性系统变为非线性的一个技巧,引入了Sigmoid激活函数。激活函数的作用就是希望输入一些数据后可以通过函数的计算得到想要的输出,如果仅仅是想描述下数学中的线、面等这样的现象,那么那些几元几次的方程倒是可行。但是如果先解决再高维度的数据呢?或是简单的二分类问题,怕是这些线性函数的逼近能力就相当有限了。简言之,神经网络的表达能力想要更...转载 2019-03-11 18:21:54 · 525 阅读 · 0 评论 -
人工智能-深度学习笔记5 神经网络的浅层概念或是说法
在上一篇的笔记中,使用了逻辑回归的示例展示了实现一个简单神经网络的些许技巧,下面来依然通过逻辑回归的示例阐述下有关神经网络的一些说法或者称之为概念的东西吧。1、神经网络的表示(Neural Network Representation)相信大家对上图见得很多了,输入层、隐藏层和输出层也是一目了然另外。一般的啊,输入那一层不算做神经网络的一层的,所以上图就是个两层的神经网络。输入层...原创 2019-03-07 16:44:10 · 398 阅读 · 0 评论 -
人工智能-深度学习笔记2 猫和非猫引起的二分类-续
在学习神经网络基础知识时,需要注意的是,去实现一个神经网络时,是需要知道一些非常重要的技术和技巧的:例如数据集,该如何表示和处理呢?;选用什么的算法方式呢,激活函数的确定;成本函数和代价函数怎么确定?;多少也得知道前向传播和反向传播的过程以及会产生怎样的结果吧。在上一篇的学习笔记中,进行到了代价函数的设计技巧,接下来就是通过让代价达到最小来进行神经网络的训练,下面就看看神经网络是怎么做的?...转载 2019-02-28 15:01:52 · 370 阅读 · 0 评论 -
人工智能-深度学习笔记4 逻辑回归展示神经网络的数据-激活函数-成本函数-梯度下降-前向和反向传播
本篇的笔记将结合前面三篇的笔记来阐述逻辑回归中应用到的技术和技巧,包括https://blog.csdn.net/chenleiyfk/article/details/87819794介绍的数据处理、激活函数和成本函数的使用技巧;https://blog.csdn.net/chenleiyfk/article/details/87926932介绍的梯度下降和https://blog.csdn.ne...原创 2019-03-02 00:54:40 · 441 阅读 · 0 评论 -
人工智能-深度学习笔记3 神经网络的前向传播和反向传播计算
在上两篇的学习笔记中,学习了数据集的表示和处理、激活函数的选取、代价函数的设计技巧和梯度下降的过程,那么神经网络在下降的计算过程是怎样的呢?下面将以目前流行的计算图的方式,展示一个神经网络的计算,是如何按照前向或反向传播过程组织起来的。1、计算图(Computation Graph)的计算尝试计算函数J,J是由三个变量a,b,c组成的函数,这个函数是3(a+bc) 。计算这个函数走三个...转载 2019-02-28 23:23:19 · 1525 阅读 · 0 评论 -
人工智能-深度学习笔记1 什么是神经网络
经常性的使用深度学习这个术语来指训练神经网络的过程,有时指特别大规模的神经网络训练。那么神经网络究竟是什么呢?这里先回忆下数学中的函数,几元几次方程和直角坐标系的知识。首先,从一个房价预测的例子开始。假设有一个数据集,它包含了六栋房子的信息,知道房屋的面积和房屋价格。这时,想要拟合一个根据房屋面积预测房价的函数。可以想到最为人熟知的建模技术之一:线性回归,这通常是人们在学习预测模型时首选的技术...转载 2019-02-19 13:25:51 · 362 阅读 · 0 评论 -
darknet-yolo 开源深度学习框架 于 车牌检测和识别上的工程应用
这个算是深度学习的一个工程应用吧。 首先呢,选择一个深度学习的框架,可以从你熟悉的编程语言下手,目前主流的几个框架支持的语言也挺多的,所以语言基本上不再是限制你的因素了,之前的一篇博文https://blog.csdn.net/chenleiyfk/article/details/64930082,可做参考,不过写得有点早了,近一年多的时间变化还是很大的。对于工程应用...原创 2019-01-23 09:08:58 · 2278 阅读 · 0 评论