network2总结

使用神经网络进行词性标注

在有了第一个版本的network的基础上,我们将output层修改为softmax,改掉原来使用的sigmoid。代码修改完之后却发现运行的时候报出overflow的错误,在纠结了许久之后,在导师的帮助下,发现了程序的两个bug:一个是softmax的激活函数,分子上的e次方忘记了加;另外一个就是在feedforward的过程中,把hidden layer的activation直接输出到softmax()中,没有使用z = w * a + b。代码的错误还是很无语的,总结:千万不要在头脑昏昏的时候敲代码,越敲越乱。下面对使用了softmax作为output layer的神经网络做一个准确率的总结。

Git简介

Git

Git简介

首先:我为什么要写这篇文章呢?因为今天我写conditional random field的代码的时候,把其中一个函数直接覆盖掉了,然后想改回来,没办法,保存过了,修改不回来了。其实,Git我使用过,只不过很少使用,一是因为我总觉得git命令太难记得了,因为一段时间按不用就会忘记。所以,我今天写下这篇使用指南,防止我以后记不住,看看自己的博客就行了。
Git,世界上最先进的、流行的分布式版本控制系统。

NumPy

numpy中的一些方法汇总

numpy.asarray

numpy.asarray(a, dtype=None, order=None)将输入转换成一个数组

  • 参数:
    • a:类似于数组的输入数据,list,tuple…
    • dtype:数据类型,可选参数,默认情况下,数据类型继承于输入数据  
    • order:{‘C’,’F’},可选参数,确定使用以行为主(C)或者以列为主(F)的内存表示方式,默认以行为主
  • 输出:ndarray

Markdown初会

简介

Markdown是一种轻量级标记语言,能将文本转换成XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言。
用途:Github的Readme.md

Python多线程

Python多线程

线程or进程

多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。

neural-network-tag-all-data

概述

因为要使用所有的数据进行神经网络词性标注工作,正好也是新的一年的开始,以前的东西难免有一点遗忘,所以我现在就乘这个机会重新开始工作,做好数据的记录,方便以后查找。

语料库的处理

Corpus.conll转换成word2vec所需要的格式文件

我们将train.conll加在大数据量的conll数据后面,形成我们所需要的语料库Corpus.conll,使用process-corpus.py进行处理,生成word2vec所需要的文件Corpus.txt。
process-corpus.py处理结果

tips

简要

本篇博客主要记录一些比较杂的小知识,主要解决在工作中遇到的一些问题(要学会使用Google,Google大法好)