学习笔记
Nicoder
学习和研究人工智能,自然语言处理等领域
展开
-
Jacobian矩阵,Hessian矩阵和牛顿法
Jacobian矩阵和Hessian矩阵1. Jacobian在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们全部都以数学家卡尔·雅可比(Carl Jacob, 1804年10月4日-1851年2月18日)命名;英文雅可比量”Jaco转载 2015-11-23 16:44:01 · 10025 阅读 · 1 评论 -
python进阶——异常处理
之前用Java的时候,在容易出错的地方我们经常使用try…catch或者try…catch…finally来捕捉和显示异常,在python中很高兴地发现它也有这样的机制。try..except这个用于当异常出现的时候,用except从句来处理异常,而不至于程序自动退出。例如,在python里获取用户输入时,若用户输入文件结束符Ctrl-d,则会引发EOFError文件结束异常。我们使用try exc原创 2016-01-23 22:47:37 · 6517 阅读 · 2 评论 -
python 学习笔记1——数据类型、字符串、运算符
最近开始学python,这是一个很强大和便捷的编程语言,日后进行科学计算和科研的时候必然成为主要的编程语言。 本来买了一本python基础教程(第2版),然而教学顺序不太喜欢,因为一开始并没有讲清楚语法,不能学了立马用到实验中。并且,这本书针对的是没有编程基础的人,讲的比较浅。 我有一点C的编程基础,根据知乎上python的推荐url,决定从中文的简明python教程url入手。在这里把pyth原创 2016-01-21 19:22:57 · 1469 阅读 · 0 评论 -
tensorflow某些函数的小坑(持续更新)
刚刚接触tensorflow,正在跟tutorial学习。英文的官网经常上不了(shadowsocks不太稳定),退而求其次看极客学院翻译的中文教程.看见其中的一些奇奇怪怪的函数,这里mark一下nn.sparse_softmax_cross_entropy_with_logits()这个函数看名字都知道,是将稀疏表示的label与输出层计算出来结果做对比,函数的形式和参数如下:nn.sparse_原创 2016-09-01 11:56:05 · 16029 阅读 · 6 评论 -
Long short-term memory 论文小记
这是Hochreiter(1997)的一篇老论文,我为了一睹lstm的原创遗风而读。本来想看看最朴素最正宗的lstm模型,结果却发现在本文中作者并未提出一种特有的模型。文章很长,并不打算翻译。下面是我的一些总结和见解,纯粹小菜鸟的个人观点,大家多多指正,非常欢迎~首先是这篇文章的动机。作为一篇长文,什么支撑着作者进行这么多的实验,以及这篇文章的重要性有多大,取决于动机。在这里,总结成一句话就是:Ol原创 2016-09-28 17:12:07 · 3283 阅读 · 5 评论 -
Tensorflow踩坑记
这里是踩坑纪录,大家如果想看教程的话请出门右转~从前有个小孩,正在学习TF,一开始,写了个逻辑回归的优化程序:import tensorflow as tfimport numpy as npx=tf.placeholder("float")y=tf.placeholder("float")w=tf.Variable([1.0,2.0],name='w')y_pred=tf.mul(x,w[原创 2016-09-28 15:38:27 · 24684 阅读 · 6 评论 -
取tf中的矩阵维度,并转成int
在写模型的时候,我们希望一个模型的参数是灵活的,例如矩阵乘的时候可以根据输入最后一维的大小来定义一个W。获得矩阵的维度tf.shape(input) input为所求矩阵,返回该矩阵的维度,但是是一个Tensor。经常取出来的维度值并不能直接用,因为会出现类似这样的报错: TypeError: int() argument must be a string or a number, not ‘原创 2017-05-12 22:02:15 · 8975 阅读 · 0 评论 -
tensorflow第二坑-矩阵向量相乘
突然发现tensorflow的tf.matmul()只能进行矩阵之间相乘,不能进行矩阵和向量相乘!例如:Ws = tf.get_variable('Ws', [hidden_size])bias_s = tf.get_variable('bs', [1])score_tensor = tf.matmul(hidden, Ws) + bias_s会报错: ValueError: Shape mu原创 2017-05-12 22:25:20 · 28000 阅读 · 1 评论 -
tensorflow实现P@1和MRR
最近复现别人的论文,才发现tf竟然就只有常用的一些loss, 并没有其他指标,例如P@1和MRR。在手工计算这些指标的过程中,发现了几个神奇的函数。任务介绍输入是各个候选的分值tensor_score,假设有每个样本对应5个候选,那么输入大小就是[batch_size, 5]。target指定了候选中实际匹配一个为1,其余为0,大小为[batch_size,1] 现在我们的目标是:得到5个候选从高原创 2017-05-12 10:25:35 · 3740 阅读 · 1 评论 -
python进阶——类和对象
前面我们都是用python面向过程编程,现在来用python创建类和对象,面向对象编程。类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象这个类的 实例 。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)。在python中,类和实例中的变量称为域,类和实例中的函数称为方法,域和方法都是类和实例的属性。类的定义在定义类或者它的函数的时候,如果没有参数原创 2016-01-23 21:36:00 · 1244 阅读 · 0 评论 -
python 学习笔记6
现在看文件的如取、写入和编解码问题读写文件python的读写文件相当简单,比C和Java都要方便。 下面举个栗子: #!/usr/bin/python# Filename: using_file.pypoem = '''\Programming is funWhen the work is doneif you wanna make your work also fun:原创 2016-01-22 17:24:00 · 659 阅读 · 0 评论 -
CS224D Deep Learning for NLP lecture2
斯坦福深度学习与自然语言处理课程是Richard Socher今年开的课程。他是德国人,本来学习的是机器视觉。在斯坦福大学博士毕业,师从Andrew Ng和Chris Channing学习机器学习和NLP,毕业后也成为一个大牛。本人小白一枚,花了好长时间才消化了课程的视频和课件,为了防止以后忘记,在这里纪录一下。先放上该课程的官网镇楼:http://cs224d.stanford.edu/sylla原创 2015-10-09 19:35:12 · 1338 阅读 · 0 评论 -
Softmax 函数及其作用(含推导)
Softmax是一种形如下式的函数:P(i)=exp(θTix)∑Kk=iexp(θTkx) P(i)=\dfrac{exp(\theta_i^Tx)}{\sum_{k=i}^{K}exp(\theta_k^Tx)} , 其中θi\theta_i和x是列向量,θTix\theta_i^Tx可能被换成函数fi(x)f_i(x)通过这个函数,可以使得P(i)P(i)的范围在[0,1]之间。通常θ\the原创 2015-10-08 21:58:32 · 58234 阅读 · 7 评论 -
能量函数在神经网络中的意义
能量函数(energy function)一开始在热力学中被定义,用于描述系统的能量值,当能量值达到最小时系统达到稳定状态。 在神经网络(Neural Network)中,在RBM中被首次使用。在RBM中,输入层v和隐藏层h之间的能量函数定义为: E(v,h)=∑i∈vaivi+∑j∈hbjhj+∑i∈v,j∈hvihjwijE(v,h)=\sum_{i\in v}a_iv_i+\sum_{j\原创 2015-11-26 15:55:26 · 24066 阅读 · 3 评论 -
python 学习笔记2
指定python编译器与使用注释条件语句if语句raw_input与input的区别强制类型转换7.指定python编译器与使用注释一个简单的程序:#!/usr/bin/python# Filename: expression.pylength = 5breadth = 2area = length * breadthprint 'Area is',原创 2016-01-21 21:57:11 · 868 阅读 · 0 评论 -
python 学习笔记4
10.模块模块的使用我们使用import …来导入一个模块,也可以使用from … import …来导入一个模块中指定的某些成员。例如,我们来导入一个标准模块sys#!/usr/bin/python# Filename: using_sys.pyimport sysprint 'The command line arguments are:'for i in sys.argv: pri原创 2016-01-22 09:26:55 · 657 阅读 · 0 评论 -
python 学习笔记3
这里介绍一下python 常用的数据结构,还有小技巧。序列列表,元组,字符串都是序列,序列有索引(就是下标操作)和切片操作。就是说前面说的3个的结构都可以这样用,以切片操作为例:>>> shoplist = ['apple', 'mango', 'carrot', 'banana']>>> print shoplist[0:2]['apple', 'mango']>>> print shopl原创 2016-01-22 10:56:39 · 555 阅读 · 0 评论 -
python 学习笔记5
现在我们看看python 中字符串有哪些功能,还有如何进行输入输出,文件读取和写入字符串的操作下面我随意新建一个字符串,看看字符串可以进行哪些操作>>> mystring='dsffklefji'>>> dir(mystring)['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__'原创 2016-01-22 16:30:08 · 486 阅读 · 0 评论 -
在win10 安装cuda和tensorflow
因为自己的笔记本也有gpu,加上tensorflow 增加了windows的支持,所以打算装一个tf。打算装python版的tf, 首先当然是装python了。安装anaconda(python 3.6)anaconda自带了python,还有很多科学计算库,所以我使用anaconda。只想装python3的朋友也可以去官网下载python3自行安装。tf支持的python3必须在3.5以上,切记!原创 2017-07-25 12:13:30 · 10523 阅读 · 0 评论