TensorFlow实战1:线性回归(Linear Regression)

线性回归模型可以算的上是机器学习中最简单的模型。这里的线性回归与统计学中所述的别无二致。在数据量比较小的情况下,我们可以使用高斯的最小二乘法来直接算出解析解。但是,在大数据时代,要进行回归的数据点量级非常巨大,难以一次性计算出结果。在这种情况下,可以使用梯度下降的方法迭代计算,不断逼近其最优解。
事实上,从线性回归这个最简单的模型就可以看出机器学习中监督学习(Supurvised Learning)建模的常见思路:

- 阅读剩余部分 -

TensorFlow学习笔记2:训练

框架的作用就是为了帮助我们减少一些模式化的工作。而TensorFlow在神经网络训练上的一大作用就是可以帮助我们实现Back Propagation过程。如果对神经网络有所了解就会知道,BP简单的来说就是一个链式求导的过程,每次去手动推导计算式是一件很麻烦的事情。但是,有了TensorFlow就可以做到只实现一个正向传播的过程,反向传播过程由框架自动实现。
TensorFlow提供了各种各样的优化器(optimizer)。下面就用一个简单的例子来进行说明。

- 阅读剩余部分 -

TensorFlow学习笔记1:基本概念

张量(Tensor)与其形状(Shape)

TensorFlow采用的基本数据单元被称为张量(tensor),张量可以看做是任意维度的数组。一个张量的秩(rank)是这个数组的维度个数。

形状就是张量的每个维度的维数。

3                                # 这是一个标量,它的rank为0,shape为[]
[1, 2, 3]                        # 这是一个向量,它的rank为1,shape为[3]
[[1., 2., 3.], [4., 5., 6.]]     # 这是一个矩阵,它的rank为2,shape为[2, 3]
[[[1., 2., 3.]], [[7., 8., 9.]]] # 这是一个rank为3的张量,它的shape为[2,1,3]

- 阅读剩余部分 -

如何使用conda切换Python版本

与JavaScript正好相反,Python3已经发布多时,但社区的很多包依然要运行在Python2下,所以折腾Python版本成了一个很麻烦的事。好在有一个很好的Python管理工具conda,可以帮助解决这一历史难题。
conda有很多特定封装,Anaconda是其中一个非常适合科学计算的,此处就以Anaconda为例。装好Anaconda并正确配置环境变量之后,在命令行就可以使用conda命令了。

查看可用Python版本

conda search python

这条命令会列出所有包含python字符串的包。如果想要精确匹配,可以加上--full-name参数:

conda search --full-name python

安装一个不同的Python版本

安装Python 3.6:

conda create -n py36 python=3.6 anaconda

其中,py36是自定义的环境名,python=3.6指定安装Python3.6,最后的anaconda是元包,能够一次安装好所有Anaconda发行版兼容的包。
安装Python 2.7:

conda create -n py27 python=2.7 anaconda

激活环境

Windows系统,激活py36

activate py36

macOS和Linux,激活py36:

source activate py36

最后可以用python --version验证一下,发现已经可用了。

参考阅读:

  1. Managing Environments