- 博客(39)
- 收藏
- 关注
原创 docker desktop tutorial 示例报错的处理
就是一打开这个程序后的tutorial我把这个步骤手打出来(居然没法粘贴)# step1 clonedocker run --name repo alpine/git clone https://github.com/docker/getting-started.gitdocker cp repo:/git/getting-started/ .# step2 build cd getting-starteddocker build -t docker101tutorial .# st
2022-04-06 14:44:20
1691
翻译 Neural Network 3 课程笔记翻译
本章的定位在前面的章节中我们讨论了神经网络的静态部分:我们怎么设置网络连接、怎么设置数据、怎么设置损失函数。这一章我们研究一下动态部分,也就是参数的学习过程以及寻找最优参数的过程。一、梯度检查梯度检查的核心思想就一句话:把梯度的解析解和数值解拿过来进行比较就行了。【候选翻译:理论上,梯度检查非常简单,就比较梯度的解析解和数值解就行了。】但是实际上,这个过程非常的复杂和易错。以下是一些技巧、提示以及可能出现的问题:1.1 用对称形式的求导公式当计算梯度的数值解时,你可能见过这样一种有限差分的近似形式
2022-04-02 20:16:12
419
翻译 Neural Network 2 课程笔记翻译
一、设置数据和模型在前面的章节中我们介绍了神经网络的模型。从结构上,神经网络把神经元组织成层次结构。从数学上,它进行了这样一个数学运算——这个点积之后再进行非线性化。把这些特点综合起来,我们得到了一个新形式的评分系统。相较于之前我们介绍的模型来说,它在简单的线性映射基础上做了扩展。神经网络构造了一种线性和非线性交织在一起的映射序列。在这一节中,我们将会讨论一些更多设计神经网络的细节,比如数据预处理、权重初始化,损失函数。1.1 数据预处理数据预处理本质上就是一个数学trick。在不改变原有性质的基础上
2022-04-02 20:03:24
277
原创 注释:在简单的公式上求梯度并从直观的角度阐述梯度的意义
这个是Simple expressions and interpretation of the gradient 这一小节的注解。1. 用形象的方式理解梯度这一小节的主旨主要还是从直观的角度来阐释导数的意义。之前我常用的形象工具是“斜率”。也就是高数里说的几何意义。一个曲线上不同位置上的切线,其斜率也各不相同。斜率越大的地方,相同的自变量变化能够引发更大的因变量变化。这里采用了一个新的形象工具——“敏感度”。这也是一个很形象的说法,相同的大小的扰动,有的变量引起的变化率大,有的变量引起的变化量小,确实提
2022-04-02 19:49:57
340
原创 注释:如何理解文中把计算回路比喻成一个人
还是从敏感度的角度的角度来理解。对于某个门来说,上游回传来的梯度,其实就是整个函数对这个门的一个敏感度。之前通过对导数定义的直观理解,我们已经掌握了这样一个知识,也就是——如果我们知道,在一个特定的位置上,函数对某个变量的导数,我们就能够知道这个如何对变量进行微小的改变(朝哪个方向,变大还是变小)就能使整个函数的值增加。注意,“在某一个特定的位置上”以及“对变量进行微小的改变”这是非常重要的条件,也就是导数成立的条件。其实从这个角度就已经能够说明问题了。没有必要非要用拟人化的比喻,反而把理解的难度增高
2022-04-02 19:48:53
202
原创 注释:什么叫做分步的反向传播(staged backpropagation)
#####什么叫做分步的反向传播。这块他想说的是什么意思呢。他其实说的就是创建一些中间变量。就类似于我们在使用链式法则的时候会引入中间变量一样。我们先考虑如果要使用链式法则用到哪些中间变量,那么在进行正向传播的时候我们就引入多少中间变量,一方面作为中间计算结果保存,一方面在反向传播的时候计算局部梯度的时候是需要用到这些中间计算结果的。比如说我们要求这样一个函数的偏导数,f(x,y)=esin(x2y)f(x,y) = e^{sin(x^2y)}f(x,y)=esin(x2y)。那么为了求fff对xxx的
2022-04-02 19:46:27
234
翻译 Backpropagation 课程笔记翻译
Table of Contents:IntroductionSimple expressions, interpreting the gradientCompound expressions, chain rule, backpropagationIntuitive understanding of backpropagationModularity: Sigmoid exampleBackprop in practice: Staged computationPatterns in bac
2022-04-01 20:04:41
262
原创 在工程实践中可以用 “1- 余弦相似度”来代替 欧式距离
我们知道 1- cos(x,y) = 12L2\frac{1}{2} L^221L2,而 12L2\frac{1}{2} L^221L2 和 LLL的关系是12L2\frac{1}{2} L^221L2是LLL的单调函数。或者说12L2\frac{1}{2} L^221L2和LLL的单调性是一样的。LLL增大的时候,12L2\frac{1}{2} L^221L2也会增大;LLL减小的时候,12L2\frac{1}{2} L^221L2也会减小。其实我们在应用的过程中,并不关系欧式距离的具体值是
2021-05-18 12:01:15
271
原创 不同的数据预处理对L1距离性能的影响
问题由来这个问题来自于CS231n Assignment1 Q1 inlineQuestion 2 ,原问题描述如下We can also use other distance metrics such as L1 distance.For pixel values pij(k)p_{ij}^{(k)}pij(k) at location (i,j)(i,j)(i,j) of some i...
2020-01-10 16:38:05
1280
5
原创 一种用向量化的方式实现 L2 Distance 的数学技巧
背景描述在 CS231n 的作业题中有一个需要实现 L2 distance 的题目,题目要求不能用循环语句。已知待分类的数据集合矩阵 X ,训练用数据集合矩阵 X_train。待分类数据集中任何一个数据点到训练用数据集合中的任一点之间的距离用矩阵 dists[i,j] 来表示。理解这个问题有这样要点:在计算的过程中借助广播的性质从向量运算一口气生成最后的矩阵,而不是手动的生成矩阵。利...
2019-12-31 10:43:33
882
翻译 Optimization 课程笔记翻译
Table of Contents:IntroductionVisualizing the loss functionOptimizationStrategy #1: Random SearchStrategy #2: Random Local SearchStrategy #3: Following the gradientComputing the gradientNumer...
2019-09-12 17:32:11
758
原创 Nesterov动量更新方法理解要点
为了解释Nesterov动量更新的原理,我们从速度更新表达式开始说起。v = mu * v - learning_rate * dx (为了说明下面的推论还是需要一些前提的,为了不影响整体感,把这些放到本小节的后面)其实这个式子背后提现了这样一个原理:下一时刻的速度应该由 「当前的速度」以及「质点因受力产生的速度变化」两部分共同构成。式子的前一部分( mu * v)代表质点当前的速度状...
2019-04-24 10:24:31
3324
原创 关于动量更新的概括
一下是看CS231n后自己总结的笔记动量更新 是另一种在深度学习过程中经常能获得不错收敛率的学习方法。这个方法的灵盖来自物理学(我就意译了),想象优化空间如同一个延绵起伏不断延伸的丘陵地带,优化过程类似于把一个小球轻轻地放在这个地带任何一个位置,让它自然运动直到停止,一般来说,当它停下来的时候这个小球肯定是在某一个最低点,不一定是全局最低点,但是一定是局部的最低点。我们把损失函数类比这个小球的...
2019-04-24 10:22:04
3210
原创 两种反向传播理解思路的统一
在我学习反向传播算法的时候,我接触了两种不同类型的阐述方式,一种是Michael Nielsen和Andrew Ng的(以下简称N2),他们的推导过程几乎一样。另一种是CS231n中基于链式法则的。这两个虽然我都明白,但是总觉得好像差别有点大,或者说既然他们说的是一个东西,那么肯定能在某一种层次上它们说的能统一在一起。为了寻找它们的统一,下面是我的一些思考。先从“反向传播”这个名字说起“反向传...
2019-04-04 15:03:27
432
原创 什么是“扩散概率”(diffuse probability)
今天在看CS231n的时候看到了一个名词“diffuse probability”, 扩散概率,Google了一下,在英文里直接定位到先验分布,用中文“扩散 概率”查,有少数文献提到“扩散先验”其实“diffuse probability”就应该是“diffuse prior”,diffuse prior 也称之为 Uninformative priors (非信息先验),是先验概率的一种形式,...
2019-02-14 12:15:34
3394
原创 现在机器翻译效果已经那么牛逼了!?
最近想看看《园丁和木匠》这本书,之前在kindle上买了电子版在读,今天我想在网上看看有没有人写一些笔记,做一些解读,虽然万维钢也对这本书做过介绍,但是我觉得每个人的视角都是不一样的,结果发现已经有PDF版本在流传了,恰好前两天升级了一下有道词典,本来只是想用这个做生词本(我平时用欧路词典,但是那个不花钱就没法同步),我刚啃完一段,不经意的一扫,结果发现它把整段都翻译,乍眼一看好像翻译的质量不错...
2019-02-12 19:11:10
1855
原创 卷积和池化(CS231n)
用不是特别严谨但是比较通俗的语言描述整个过程卷积神经网络是从卷积层开始介绍的,而卷积层的介绍是从全连接层开始介绍的全连接层的处理方式是一次性处理一张图片的全部信息,处理的方式是将图片信息和权重矩阵做乘积,得到一个评分结果。在细节层面上:我们会把一张图的全部信息拉成一个一维的向量,一张图的全部信息原始的状态像一个长方体方体(32 X 32 X 3)权重矩阵和这个图片信息的矩阵乘法,本质上来...
2018-09-29 20:22:59
3105
原创 反向传播(CS231n版)
核心概念:计算图的概念反向传播利用了链式求导但是本质不完全是链式法则理解概要与其说反向传播算法的本质是链式求导法则,到不如说它的本质是分治的思想在链式求导法则中的应用。因为当一个函数很复杂的时候,即使是我们会链式求导法则,求这个函数对某一个变量的偏导数(的解析解)依然是一个非常困难的事情。而反向传播则是把一个大问题拆成一个一个各自独立互不影响的小的问题,分别求出这些小的问题的解,再把这...
2018-09-29 19:36:21
678
原创 深度学习基础知识框架
作为刚入门的新手来说,CS231n提供了一个特别好的深度学习框架,本人也在学习这门课程,我以2018年课程计划为蓝本,把知识拆成小的部分,打算有时间一个一个的弄懂 课目 主题 知识点 备注 Lecture 1 课程概述 course introduction 计算机视觉概述 computer vision overview ...
2018-09-29 19:07:30
1588
原创 《推荐系统调研报告即综述》粗略笔记
1. 为什么需要推荐系统我觉得商人嘛,就是要不断让客户买自己的东西,TA喜欢什么我就给TA什么。 包括现在网站也是,都是要尽量的留住用户,占用这个用户的时间,比如今日头条或者内涵段子之类的其实这个思路自古有之,只是那个时候就是商人自己完成这个事情,现在大规模的交易在线上完成,自然我们就需要把这种功能利用机器的方式来实现,用机器的方式来实现推荐系统的功能就是2. 都什么地方需要推荐...
2018-04-18 11:39:09
1224
原创 Coursra-MachineLearning 第四次作业总结
1. 神经网络训练算法(coursera版)整体描述1.1 不同点1——代价函数的形式不同参考下面的2.3.11.2 不同点2——最后一层的误差表示方式不同这里为了简化输出层的误差就用样本的值和输出值相减得到,其实比较严谨的计算方法是样本值和输出值相减后再乘以输出层的偏导数。 参考我之前写的两篇文章中的公式推导。 反向传播算法的理解(Nielsen版) 反向传播算法(UF...
2018-04-12 18:07:52
2143
原创 反向传播算法(UFLDL版)
1. UFDL中的一些术语nln_l表示输出层的层数(数量),用L2L_2表示第二层,L3L_3表示第三层,LnlL_{n_l}表示输出层。无论是Nielsen版还是,coursera版都是用“L”表示神经网络的层数(总层数) 小写的ll经常来表示层数,大写的LL加角标经常表示第几层,SlS_l表示第l层神经元的个数。b(l)ib^{(l)}_i表示第l+1l+1层的第ii个神经元上的...
2018-01-10 21:02:19
1247
原创 “分类”这种解决问题的思想在机器学习领域中有多重要
大多数与“智能”有点关系的问题,都可以归结为一个在多维空间进行模式分类的问题。而人工神经网络所擅长的正是模式分类。我写这篇文章主要就是受到这句话的启发,我现在才体会到机器学习的两个基本问题“回归(预测)与“分类”这两个基本问题的价值。原来看似很复杂的问题最终都可以化解为这两个基本问题的组合。下面我就从简单的例子开始谈谈我对于“分类”这概念的理解。1 一个特征的情况其实我们在日常中就在自觉或者不自觉
2017-12-20 11:49:58
1816
原创 反向传播算法的理解(Nielsen版)
在学习standford大学机器学习在coursera上的公开课中,对于其中讲授的神经网络的反向传播算法不是很清楚,经过网上查找资料,觉得Michael Nielsen的「Neural Networks and Deep Learning」中的解释特别清楚,于是这份材料为主经过学习,现在说一下我的理解。记忆BP算法的核心要素Nielsen版的反向传播算法大概有这么三个要素 * 两个假设
2017-11-22 16:19:08
4460
2
转载 数学与国家实力
数学既是一种文化、一种“思想的体操”,更是现代理性文化的核心马克思说:“一门科学只有当它达到了能够成功地运用数学时,才算真正发展了。”在前几次科技革命中,数学大都起到先导和支柱作用。我们不能要求决策者本人一定要懂得很多数学,但至少要经常想想工作中有没有数学问题需要请数学家来咨询。因为数学是科技创新的一种资源,是一种普遍适用的并赋予人以能力的技术。一、世界强国与数学强国数学实力往往影响着国家实
2017-10-13 17:31:22
1546
原创 Coursra-MachineLearning 第二次作业总结
Logistic Regression1.1 Visualizing the data我们的目标是根据ex2data1里面的数据,把被接受入学的数据和被拒绝入学的数据都标注在一张坐标图上。 为了表示区分,接受入学的样本在图上用“黑色小十字”来表示,而拒绝入学的样本在图上用“黄色小圆点”来表示。 如果要做这个事情,第一步就是要把混杂在一起的数据分成两堆。y=1的为一堆,y=0的为一堆。难点1 f
2017-09-30 16:27:30
610
原创 Coursra-MachineLearning 第一次作业总结
语法上与Python有类似的地方变量的声明没有独立,变量的声明和使用是同时的类似动态语言,所见即所得,命令行式以及文件式,这点是不是和R有点相似脚本之间关系,是不是也有不同的命名空间,这次的作业其实是一个大脚本串起来的 这次必完成的作业是一元线性回归的作业,ex1虽然是一个大脚本,但是其实它的目的也很单一就是把一组数据利用一元线性回归的方式找到模型并且把其中的过程图画出来。目标完成其实是分成
2017-09-07 19:53:03
692
原创 数学之美 概念关系图
最近拜读了吴军老师的数学之美,对其中涉及到的概念,原理进行了一些整理,根据我自己的理解画出来一个概念关系图。从横向看,我把所有知识的阐述分成:目标,原理1(直接原理),原理2(底层原理),工程实现,推广应用这五个部分。纵向方面是每个章节涉及到的主题。但是我并非完全按照章节的顺序来整理只是根据自己的理解,把近似的内容聚类。画出的效果图如下:
2017-09-01 10:54:58
651
原创 利用梯度下降的方式求线性回归中参数的一些经验总结
这个是coursera里的machine learning课程的作业,在用matlab实现的过程中我总结了一些经验 1. 梯度下降也分成两个部分,一个是cost function的实现,一个是θ\theta的实现 2. 这里要尽量采用向量的计算方法,注意向量的计算方法不是矩阵的计算方法,总结一下向量的计算技巧,什么情况下可以一气计算,什么情况下不行,只能循环计算。微批量处理 matlab的优势
2017-08-30 17:12:25
1266
原创 什么叫做「数据驱动方法」
在《智能时代》一书中提到了「数据驱动的方法」,我来谈一下我的理解。 人类提升对世界的认识能力的方法就是从现实世界中发现规律,从认识论的角度来说就是从感性认识到理性认识。那么规律如何描述呢,从自然科学的角度来看,人类描述自然规律的方法是用数学公式的方法(因为用数学公式来说比较精确,在人类未掌握很丰富的数学工具的时候,也可以用语言来描述规律,但是之后规律越来越多的采用数学公式),将规律用一个数学公式(
2017-07-14 16:10:40
40903
7
原创 Python中iteration(迭代)、iterator(迭代器)、generator(生成器)等相关概念的理解
在阅读Python tutorial类这一章的时候出现了iterator的概念,我是一个是编程的半吊子,虽然在其它语言(比如Java和C++)中也听过这个概念,但是一直没认真的去理解,这次我参考了一些文章,总结了一些我的看法。 首先,我在理解相关的概念的时候总是试图探索引入相关概念的背后的真正意图,我们看到的多半都是用法,那么为什么要这么用,也许搞清楚了每件事情背后的目的,接下来产生的解决方案才能
2017-05-22 19:40:26
10990
2
原创 在centos6.5环境下搭建多版本python(python2.6、python2.7、python3.5)共存环境
可能存在的问题yum安装、源码安装、二进制安装用哪个,官网文档是源码安装,所以咱们就用源码安装在源码安装的时候会有什么问题 一个是默认路径的问题,在编译的时候时候如果不指定路径的话,很多二进制文件会安装到默认的目录下/usr/bin下面,系统原来的文件可能还会有,但是各种链接会指向新的二进制文件,这样有可能会造成系统内某些依赖原来版本python的服务依会出现问题,一个已知的是yum会出现问题
2017-03-03 16:46:30
5461
1
原创 一觉起来总是很累但是智能手环的数据显示得还不错是什么原因
这一段时间一觉起来总是觉得很累,但是小米手环上的数据显示的却不错这是为什么,为了解答这个问题,我把这个问题分成下面几个问题来回答小米手环检测数据是否靠谱?它所谓的深睡眠和浅睡眠定义是啥医学上对深睡眠的定义一般是NREM的第三和第四阶段,这段时间,大脑的活动应该降到最低了,而人的各种代谢则最为旺盛,大量的蛋白质和维持人活动的各种物质会在这个时候合成,以供昨天白天的消耗以及第二天的可用。浅睡眠大脑的活动
2017-01-23 17:02:36
2508
原创 python开发环境配置问题
首先选定平台方面的问题linux?windows?MAC OS? 没有MAC OS,所以 只能选 linux和windows了。linux(centos)平台下的安装问题一:用什么方式安装的问题 无论在linux安装什么软件基本上都有三种方式:源码安装、二进制安装、yum安装。在官网上用的是编译安装的方法(https://docs.python.org/3/using/unix.html#on
2016-12-01 08:47:36
734
原创 Python官方文档结构图
今天开始学习python了,同事推荐的资料就是官方文档。那么官方文档怎么用呢?我看了2个小时,琢磨点味道出来。下面用一张图来展示。好,之后学习的时候想找什么资料的时候就可以参考这张图了
2016-10-28 20:02:04
617
原创 关于hadoop端口的问题
在所有的进程启动之后除了用jps命令看看后台进程是否启动之外,还想用web界面验证 在登录namenode的界面的时候发现这个问题 但是其他的都是对的,从这个报错上来看应该后台进程起作用了,但是感觉好像端口制定的不对,所以,我决定重新设置一下端口在设置的时候要注意,最好把所有的相关进程都关掉再设置,或者设置完之后重启所有相关的进程的。 还有,修改完配置文件要把它们分发到其它机器上,不能光改
2016-06-18 22:38:06
5302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人