[转] Ubuntu14.04LTS安装TensorFlow

1. Pip

如果已经安装过pip,可以跳过这里的安装步骤。

$ sudo apt-get install python-pip python-dev python-setuptools build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv

为了检测是否安装好,可以查看pip的版本:

$ pip --version
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

2. Tensorflow

接下来,就可以按照Tensorflow Download and Setup中的Pip Installation开始安装,命令如下:

# Ubuntu/Linux 64-bit, CPU only:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
继续阅读[转] Ubuntu14.04LTS安装TensorFlow

#2 大话机器学习中的贝叶斯 Bayesian

#2 大话机器学习中的贝叶斯 Bayesian
/

这一期, 我们来谈一谈机器学习中的贝叶斯. 概率论中贝叶斯理论, 作为概率的一种“思考方式”, 十分通用. 当机器学习应用中, 贝叶斯的强大理论提现在多个领域, 包括超参数贝叶斯, 贝叶斯推断, 非参贝叶斯等等…

入门

机器学习中的贝叶斯, 首先要区分概率中频率学派和贝叶斯学派的. 网上有各种各样的解释, 其实, 我们可以从机器学习的角度去解释.

机器学习问题可以总结为: 找到一个好的 \theta 代表一个模型, \theta 表示这个模型的所有参数, 而这个模型就是我们能够训练出的最好模型(至少我们认为是最好的).  什么是最好的模型? 假设有未知数据集 X_{unknown} , 如果 P\left(X_{unknown}\middle|\theta\right) = 1 , 那么这个模型就是最好的. 当然这是不可能的, 也许只有上帝才能对所有的未知100%准确预测. 但我们一定是希望 P\left(X_{unknown}\middle|\theta\right) 越大越好, 趋向于1.

如何做到使得 P\left(X_{unknown}\middle|\theta\right) 越大越好 ? 这就引出了概率论中的两大学派: 传说中的”频率学派”和”贝叶斯学派”. 两大学派区别在哪里? 看下面这个公式:

P\left(\theta\middle|X_{train}\right) = \frac{P\left(X_{train}\middle|\theta\right)P\left( \theta\right)}{P\left(X_{train}\right)}

没错! 这就是大名鼎鼎的贝叶斯公式 ! 机器学习中,  X_{train} 是真实的训练数据或者抽样数据 . P\left(\theta\middle|X_{train}\right) 是后验概率(posterior)分布 . P\left(X_{train}\middle|\theta\right)是似然概率(likelihood).   P\left( \theta\right) 是先验概率分布(prior). P\left(X_{train}\right)是归一化”证据”(evidence)因子.

“频率学派”认为, 后验概率和先验概率都是不存在的, 模型 \theta 不论简单复杂, 参数已经是上帝固定好了的, 只要根据大数定理, 当训练数据足够大, 我们就能找到那个最好的 \theta . 于是公式变为:

 P\left(X_{train}\right) = P\left(X_{train}\middle|\theta\right)

无论有没有 \theta , 抽样数据 X_{train} 出现的概率都是一样的, 因为任何数据都是从上帝指定的模型中生成的. 于是我们找到 \theta 的任务就很简单, 最大化 P\left(X_{train}\middle|\theta\right) 似然概率就行了. 数据量越大, 模型拟合度越高, 我们越相信得到的 \theta 越接近上帝指定的那个 \theta. 所以”频率学派”预测投硬币正反的概率的方法就是, 投10000次硬币吧, 看看正面出现多少次. 这种基于统计的预测有很多缺点, 首先它指定了一个固定概率, 如果上帝指定的模型不是固定的呢? 另外, 如果数据量不足够大, 预测会不会非常不准确? 当数据维数增大时, 实际计算量也会变得非常大.

“贝叶斯学派”认为, 人类的知识是有限的, 我们不知道上帝的安排, 就先假设一个先验(我们已有的知识), 再根据训练数据或抽样数据, 去找到后验分布, 就能知道模型最可能是个什么样子. 继续阅读#2 大话机器学习中的贝叶斯 Bayesian

机器学习 常见面试题 总结

前言:

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大。

纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大点的公司里百度,阿里,腾讯,网易,搜狐,华为(华为的岗位基本都是随机分配,机器学习等岗位基本面向的是博士)等会有相关职位,另外一些国内的中小型企业和外企也会招一小部分。当然了,其中大部分还是百度北京要人最多,上百人。阿里的算法岗位很大一部分也是搞机器学习相关的。

下面是在找机器学习岗位工作时,总结的常见机器学习算法(主要是一些常规分类器)大概流程和主要思想,希望对大家找机器学习岗位时有点帮助。实际上在面试过程中,懂这些算法的基本思想和大概流程是远远不够的,那些面试官往往问的都是一些公司内部业务中的课题,往往要求你不仅要懂得这些算法的理论过程,而且要非常熟悉怎样使用它,什么场合用它,算法的优缺点,以及调参经验等等。说白了,就是既要会点理论,也要会点应用,既要有点深度,也要有点广度,否则运气不好的话很容易就被刷掉,因为每个面试官爱好不同。

朴素贝叶斯:

有以下几个地方需要注意:

1. 如果给出的特征向量长度可能不同,这是需要归一化为统一长度的向量(这里以文本分类为例),比如说是句子单词的话,则长度为整个词汇量的长度,对应位置是该单词出现的次数。

2. 计算公式如下:29224144-9bad2a8789f549cd88a567a7c2ca7465

其中一项条件概率可以通过朴素贝叶斯条件独立展开。要注意一点就是P\left(w\middle|c_i\right)的计算方法, 而由朴素贝叶斯的前提假设可知: P\left(w_0,w_1,w_2...w_N\middle|c_i\right) =P\left(w_0\middle|c_i\right)P\left(w_1\middle|c_i\right)P\left(w_2\middle|c_i\right)...P\left(w_N\middle|c_i\right)

因此一般有两种,一种是在类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本的总和;第二种方法是类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本中所有特征出现次数的总和。

3. 如果P\left(w\middle|c_i\right)中的某一项为0,则其联合概率的乘积也可能为0,即2中公式的分子为0,为了避免这种现象出现,一般情况下会将这一项初始化为1,当然为了保证概率相等,分母应对应初始化为2(这里因为是2类,所以加2,如果是k类就需要加k,术语上叫做laplace光滑, 分母加k的原因是使之满足全概率公式)。

朴素贝叶斯的优点:

对小规模的数据表现很好,适合多分类任务,适合增量式训练。

缺点

对输入数据的表达形式很敏感。 继续阅读机器学习 常见面试题 总结