- 博客(25)
- 收藏
- 关注
原创 理解SGD-随机梯度下降法,以及和BP算法之间的联系
https://blog.youkuaiyun.com/tsyccnh/article/details/76064087上面链接中的一系列文章都有助于理解sgd。我自己的理解是:1、首先根据loss函数对各个需要优化的参数(也就是权重,下同)求偏导,也就是求梯度表达式,最终得到各个参数的梯度表达式;2、开始对模型进行训练时,首先应初始化参数,将初始化之后的参数以及第一个训练样本代入各参数各自的...
2018-11-16 15:31:12
4584
转载 关于BP算法和loss函数的解释,一篇非常好的文章
https://blog.youkuaiyun.com/zhaomengszu/article/details/77834845其中loss函数在文中体现出来就是反向传播中的总误差计算函数,用来衡量每一次的真实输出和预测输出之间的误差,bp算法通过这个误差不断调整权值,最终返回来使得误差不断缩小。...
2018-11-16 12:31:37
1916
原创 c++ overload(重载),override(覆盖), hide(隐藏)
1、overload重载,发生在两个函数作用域相同,两个函数名相同,但是函数参数数量,类型,顺序不同的情况下,此时编译器将会根据传入的参数数量、类型和顺序不同来决定调用哪个函数。注意,返回类型不同无法构成overload,但是const有时候会造成重载,具体情况如下图:其中,放在函数尾部修饰时的例子如下:2、override覆盖,发生在基类有虚函数时,派生类可以重写和基类虚函数...
2018-11-15 16:26:10
585
原创 c++一些操作的实现方法
1、获取字符串长度:#include <string>string str;第一种,str.length()即可获取字符串长度;第二种,str.size()也可获取字符串长度;两种方法获取的均为最大下标加一。2、按照指定精度输出数据(浮点数):#include <iomanip>如果直接保留n位有效数字,直接用 cout <<...
2018-11-15 11:30:19
385
原创 ubuntu16.04nVidia显卡驱动崩溃重装
系统显卡驱动崩溃导致机器无法进入桌面好几次,简单记录一下解决办法。1、CTRL+alt+f1 进入第一控制台,然后sudo service lightdm stop关闭x服务;2、sudo apt-get remove --purge nvidia*卸载已经安装过的显卡驱动;3、cd到驱动文件位置,sudo ./驱动名称.run;4、打开x服务,sudo service light...
2018-09-21 08:57:29
1969
原创 c语言的全局变量和静态全局变量,局部变量和静态局部变量以及函数和static函数区别
局部变量 普通的局部变量定义的时候直接定义或者在前面加上autovoid func1(void){ int i = 1; i++; printf("i = %d.\n", i);}局部变量i的解析:在连续三次调用func1中,每次调用时,在进入函数func1后都会创造一个新的变量i,并且给它赋初值1,然后i++时加到2,然后printf输出时输出2.然后func...
2018-08-16 16:28:20
548
原创 关于GoogleNet的一些理解
首先,讲一下GoogleNet的网络结构。GoogleNet全称叫做Google Inception Net,和传统的CNN一样,Googlenet的前面几层也是卷积层和池化层,和其他网络不同的地方是,GoogleNet接下来会有若干个Inception Module组,每个模块组又包含若干个inception module,在经过inception modules之后,再来一个全局池化,最后...
2018-08-15 18:27:15
928
原创 VGGNet-16中的一些函数解析
使用get_shape()[-1].value获取tensor的最后一维的长度,get_shape()[0].value获取tensor第一维的长度。例如: input = tf.random_normal([224,225,3], dtype=tf.float32,stddev = 1e-1)>>> input.get_shape()[0].value224>...
2018-08-09 16:32:38
2123
原创 repo配置和使用流程
首先是repo的配置过程1、根目录下创建.bin文件夹mkdir ~/.bin2、配置为临时环境变量(也可配置为永久的)PATH=~/.BIN:$PATH3、下载repogit clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo4、将git-repo中的repo文件复制到步骤1中创建的.bin目录中5...
2018-08-07 17:04:21
8104
原创 ubuntu修改系统环境变量
在安装anaconda3之后,终端没有提示是否加入系统环境变量选项,导致无法执行anaconda下的python3.6。系统环境变量修改如下:方法1、vi ~/.bashrc #编辑.bashrc文件在最后加上export PATH=~/myphtn/bin:$PATH该文件编辑保存后,可立即在新打开的终端窗口生效该方式添加的变量只能当前用户使用,且不用root权限就可修改...
2018-08-07 16:30:06
401
原创 git若干问题总结
问题一ssh -T git@192.168.32.247 报错:sign_and_send_pubkey: signing failed: agent refused operationgit@192.168.32.247's password解决方法:eval "$(ssh-agent -s)"ssh-add问题二Please tell me who you ar...
2018-08-07 16:08:40
198
原创 ubuntu下git的一些使用方法
首先是代码提交步骤:git statusgit add file_nameget commit -m "notes"get push -u origin local_branch #local_branch为本地分支,remote branch如果没有与之同名的则在remote branch新建一个同名branch好了,上传完成,下面是一些常用命令(以test分支为例):...
2018-08-03 16:08:50
386
原创 tensorflow实现简单的cnn
首先理解一下cnn的原理。在传统的MLP中,隐含层通常和输入层都需要全连接,各个连接权重参数除了初始需要人为设定之外,模型在训练过程中都会不断修改权重参数,以达到最终的预测目的。在数据量不大的情况下,全连接是很好的,训练过程中不会损失任何样本信息。但是当样本数据增大时,全连接将会使得模型训练时间大大延长甚至模型无法训练完成,或者训练完成后出现过拟合。例如假设输入数据为一个包含100万个元素的矩阵,...
2018-07-31 17:23:47
876
原创 android A/B系统的一些理解
A/B系统的应用场景AB系统bootloader的启动流程AB系统内存分配情况信息来源:https://blog.youkuaiyun.com/guyongqiangx/article/details/72604355疑问:1、后台的update_engine属于bootloader是在bootloader加载还是在AB系统分区加载?2、boot的ramdisk和system的rootfs...
2018-07-30 11:08:48
5093
原创 加性高斯噪声(AGN)去噪自编码器的理解及其TensorFlow实现
自编码器是一种期望输出与输入相等的网络,通常隐含层节点数量应小于输入层的节点数量。网络大体结构如下:流程如下:首先定义权值初始化函数;一、定义自编码class,包括:1、定义参数,网络,cost function,优化函数,参数重置,包括输入输出隐含层权重等各个参数,激活函数softplus和优化器Adam;2、构建权值字典,关键字w1,b1,w2,b2;定义一步损失优化函数,...
2018-07-26 13:46:43
2400
原创 Linux内核启动以及内存布局理解
近期由于项目涉及到一款基于LINUX的全息影像系统的更新问题,希望采用类似Android ABupdata的方法更新系统,对linux内核的启动以及内存布局略微了解一下。首先,内核启动有以下几个流程:1、引导加载程序2、启动内核3、按照分区表部署文件系统4、用户应用程序今天主要按照自己理解,说明一下前3个步骤的相关流程和内存布局情况。1、引导加载程序包括两块,一块为...
2018-07-25 13:58:43
1369
原创 python在应用中用到的一些函数
tf.InteractiveSession() 新建一个会话,并设置成默认会话 tf.random_uniform((fan_in,fan_out), minval = low, maxval = high, dtype = tf.float32)生成fan_in*fan_out的,...
2018-07-25 11:30:18
268
原创 mnist手写数字识别
在实现整个mnist手写数字识别之前,我们先对整个识别过程推导一遍。首先,假设我们已经拥有一个训练完成的模型,设样本为,其中向量的各元素均为mnist数据集每张28*28图片的灰度值,一共784个元素 。现在,令样本X为第i类的特征的加权和为其中,为样本X中第j个元素的值对样本X为第i类是的影响程度,也就是权值,指如果在数据整体中,第i类较多,则较大。现在已经求得样本X为第i类时的...
2018-07-24 11:31:42
2037
原创 程序运行时间计时
有几种方法通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit。例如:from timeit import timeitdef func(): s = 0 ...
2018-06-23 19:16:27
669
原创 python append()函数和extend()函数和insert()函数
append函数和extend函数(1)插入数字时不需要单引号,插入字符串时需要单引号;(2)append向列表尾部插入一个新的元素,只接受一个元素参数;(3)entend向列表尾部插入一个列表,列表中的元素无须为同一个类型例如:append:>>> mylist = [1,2,0,'abc']>>> mylist[1, 2, 0, 'abc']>>...
2018-06-23 14:21:06
1710
转载 基于密度的聚类方法-OPTICS
OPTICS算法 在DBSCAN算法中,我们知道该算法需要用户输入半径和阀值。这显然是不靠谱的,虽然我们可以通过其他方法来优化参数的选择,但这其实不是最好的做法。 这里为了克服在聚类分析中使用一组全局参数的缺点,这里提出了OPTICS算法。 该算法的牛逼之处在于:它并不显示地产生数据集聚类,而是为聚类分析生成一个增广的簇排序(如以样本点输出次序为横轴,以可达距离为纵轴的坐标图)。那么这
2017-12-11 09:23:23
10730
2
转载 常用分类聚类算法
什么是分类分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为分类,连续时为回归。有哪些分类方法常用的分类算法有决策树,基于规则的分类算法,神经网络,支持向量机和朴素贝叶斯分类法等。(参考常用分类算法总结)决策树基于规则的分类算法朴素贝叶斯 杂货铺最近邻分类器贝叶斯信念网络(BBN)
2017-12-11 09:15:50
5591
转载 fisher线性判别
Fisher线性判别(Fisher Linear Discrimination,FLD),也称线性判别式分析(Linear Discriminant Analysis, LDA)。FLD是基于样本类别进行整体特征提取的有效方法。它在使用PCA方法进行降维的基础上考虑到训练样本的类间信息。FLD的基本原理就是找到一个最合适的投影轴,使各类样本在该轴上投影之间的距离尽可能远,而每一类内的样本的投影尽可
2017-11-29 22:57:00
1203
转载 维数灾难
这里我们将要讨论所谓的“维数灾难”,同时结合过拟合现象来解释它在分类器学习中的重要性。举一个分类应用的简单例子,假设我们有一系列的图片,每张图片的内容可能是猫也可能是狗;我们需要构造一个分类器能够对猫、狗自动的分类。首先,要寻找到一些能够描述猫和狗的特征,这样我们的分类算法就可以利用这些特征去识别物体。猫和狗的皮毛颜色可能是一个很好的特征,考虑到红绿蓝构成图像的三基色,因此用图片三基色各自
2017-11-14 15:34:40
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人