星期二, 六月 28, 2016

TensorFlow初体验

以前玩深度学习一直是用的theano和keras,做为谷粉不能不试一下大热的TensorFlow。首先安装起来。

TensorFlow的安装指南非常详细,我是python的anaconda环境,所以直接先创建一个新环境,创建前先更新一下conda
conda update conda
conda update anaconda
看一下目前计算机上有哪些环境
conda info --env
目前只有root环境,所以新建一个专门为TensorFlow的环境,并将root中的包克隆过来
conda create --name tensorflow --clone root
激活使用环境
source activate tensorflow
退出环境
source deactivate

使用pip来安装
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl

然后我们可以使用jupyter notebook来启动,下面是两个最简单的示例。

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

星期四, 六月 09, 2016

标签传播算法

因为标注成本比较高,当你的训练数据集只有一部分数据是有标注的情况下,使用监督学习你只能扔掉那些没有标注的X。而实际上,有标注的样本和无标注的样本之间是有关系的,这种关系信息也可以用来帮助学习。这就是半监督学习标签传播(Label Propagation)算法的思路。

它的基本逻辑是借助于近朱者赤的思路,也就是KNN的思路,如果A和B在X空间上很接近,那么A的Y标签就可以传给B。进一步迭代下去,如果C和B也很接近,C的标签也应该和B一样。所以基本计算逻辑就是两步,第一步是计算样本间的距离,构建转移矩阵,第二步是将转移矩阵和Y矩阵相乘,Y里面包括了已标注和未标注的两部分,通过相乘可以将已标注的Y转播给未标注的Y。具体论文可以看这里。在sklearn模块中已经内置了这种算法,文档示例可以看这里。下面是用python的numpy模块实现的一个toy demo。
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

星期三, 六月 08, 2016

值乎?

刚开通了值乎,有趣的数据问题可以来问我,当然一分钟比较短啦。有严肃的长问题还是去知乎问我吧。