Tag Archives: Python

Ubuntu 16.04安装CUDA9+Docker CE+NVIDIA-Docker+TensorFlow/XGBoost

以Ubuntu16.04系统为例(x86架构,64bit),安装Docker社区版和NVIDIA-Docker并下载启动TensorFlow镜像,跑起hello_tensorflow的ipynb。

 
Continue reading

【未完待续】k近邻法系列2:kd树的构造、搜索与 Python 实现

实现 k 近邻法时,主要考虑的问题是如何对训练数据集进行快速 k 近邻搜索,这点在特征空间的维数较大及训练数据容量大是有其必要。

k 近邻法最简单的实现方法是线性扫描(linear scan),这时要计算输入实例与每一个训练实例的距离,当训练集很大时计算非常耗时,这种方法是不可行的。

为了提高 k 近邻搜索的效率,可以考虑使用特殊的结构存储训练数据以减少计算距离的次数,具体方法很多,下面介绍其中的 kd 树方法( kd 树是存储 k 维空间数据的树结构,这里的 k 与 k 近邻法的 k 意义不同)。

 
Continue reading

k近邻法系列1:k近邻算法、模型与 Python 实现

《统计学习方法》 第 3 章 k近邻法学习笔记摘录及算法实现

k 近邻法( k-nearest neighbor, k-NN )是一种基本分类与回归方法, k 近邻的输入为实例的特征向量,对应于空间中的点,输出为实例的类别,可以取多类。k 近邻法假设给定一个训练数据集,其中的实例类别已经确定,分类时对新的实例,根据其 k 个最近邻的训练实例的类别,通过多数表决等方式进行预测。

因此, k 近邻法不具有显式的学习过程, k 近邻法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”,k值的选择、距离度量以及分类决策规则是 k 近邻法的三个基本要素, k 近邻法 1968 年由 Cover 和 Hart 提出。

本章内容首先叙述 k 近邻算法,然后讨论 k 近邻法的模型三个基本要素(距离度量、k值选择、分类决策规则),这是本系列1的内容,在系列2中将会讲述 k 近邻法的一个实现—— kd树,介绍构造 kd 树和搜索 kd 树的算法。

 
Continue reading

感知机系列2:感知机学习算法及其 Python 实现

感知机学习问题转化为求解损失函数式 $L(w,b) = -\sum_{x_i \in M } y_i(w \cdot x_i + b)$ 的最优化问题,最优化的方法是随机梯度下降法。本节叙述感知机的具体算法。包括原始形式和对偶形式,并证明在训练数据线性可分条件下感知机学习算法的收敛性。

最重要的是由于内容完全抄录《统计学习方法》,自己使用 Python 实现了感知机算法的原始形式和对偶形式。

 
Continue reading

提升方法系列1:提升方法 AdaBoost 算法与 Python 实现

学习《统计学习方法》中第八章 提升方法学习笔记。其实说是笔记,但书上的内容已经很精简了,算法描述,讲解,证明等等。这里更多的是摘抄,基于例子对算法的实现等。

弱分类器经过线性组合(如投票)可以得到强分类器,可提高分类性能。提升方法是从弱分类器出发,反复学习,得到一系列弱分类器(或称为基本分类器),然后组合他们构建成一个强分类器。

 
Continue reading

安装 Python 的 openCV 模块

通过 apt-get 命令进行安装:

打开 Python 命令行测试:

无报错即成功。下面可以简单进一步测试,参考后文文献:

  1. Python-OpenCV 处理图像(一):基本操作:http://python.jobbole.com/85178/
  2. openCV python 安装:http://blog.csdn.net/wide288/article/details/12201127

Python 装饰器入门

尽管 Python 这门语言看起来比较简单,很容易上手,但是其独有的某些特性还是比较有意思,同时也是一些高阶内容,学那么多不如学好一门。

这两天看了下有关 Python 装饰器的内容,其实之前有了解过看过,但是总是没明白,也是没想过能用在哪儿,或者是没理解,今天我就以一段代码来简单说明下。

 

在最后列出了参考的资料,尽管相关资料很多,但是第一个写的很不错,大家可以看一下。
Continue reading