The best input is OUTPUT.

2017-08-11
递归式求解-代入法

递归式求解-代入法

放假没事继续看看算导,关于求解递归式一般使用三种方法:

  1. 代入法
  2. 递归树方法
  3. 主方法

本文主要总结一下在使用代入法求解递归式的方法以及需要注意的点和技巧。

Read More

2017-08-02
使用MPI并行化遗传算法框架GAFT

使用MPI并行化遗传算法框架GAFT

前言

本文中作者使用MPI的Python接口mpi4py来将自己的遗传算法框架GAFT进行多进程并行加速。并对加速效果进行了简单测试。

项目链接:

正文

我们在用遗传算法优化目标函数的时候,函数通常都是高维函数,其导数一般比较难求取。这样我们的适应度函数计算通常都是比较费时的计算。

例如在使用遗传算法寻找最优结构时候通常需要调用量化软件进行第一性原理计算结构的total energy,这是非常费时的过程; 例如我们优化力场参数的时候,以力场计算出的能量同基准能量之前的误差作为适应度,也需要调用相应的力场程序获取总能量来求取,同样这个过程也是相对耗时的。

Read More

2017-07-25
与机器学习, Python, 数学相关的速查表整理

与机器学习, Python, 数学相关的速查表整理

本文翻译自Cheat Sheet of Machine Learning and Python (and Math) Cheat Sheets,首发于伯乐在线, 未经许可禁止转载。

机器学习涉及到的方面非常多。当我开始准备复习这些内容的时候,我找到了许多不同的”速查表”, 这些速查表针对某一主题都罗列出了所有我需要知道的知识重点。最终我编译了超过20份机器学习相关的速查表,其中一些是我经常用到的而且我相信其他人也会从中受益。本文整理了了27个我在网络上找到的我认为比较好的速查表。如果我有遗漏欢迎补充。

Read More

2017-07-23
GAFT-一个使用Python实现的遗传算法框架

GAFT-一个使用Python实现的遗传算法框架

前言

最近需要用到遗传算法来优化一些东西,最初是打算直接基于某些算法实现一个简单的函数来优化,但是感觉单纯写个非通用的函数运行后期改进算子或者别人使用起来都会带来困难,同时遗传算法基本概念和运行流程相对固定,改进也一般通过编码机制,选择策略,交叉变异算子以及参数设计等方面,对于算法的整体结构并没有大的影响。这样对于遗传算法来说,就非常适合写个相对固定的框架然后给算子、参数等留出空间以便对新算法进行测试和改进。于是就动手写了个遗传算法的小框架gaft,本文对此框架进行一些介绍并分别以一个一维搜索和二维搜索为例子对使用方法进行了介绍。

Read More

2017-07-15
机器学习算法实践-Logistic回归与梯度上升算法(下)

机器学习算法实践-Logistic回归与梯度上升算法(下)

前言

上篇主要总结了Logistic回归模型建立的理论基础,主要包含模型似然函数的建立以及梯度上升算法的优化推导。本文在上文的基础上使用Python一步步实现一个Logistic回归分类器,并分别使用梯度上升和随机梯度上升算法实现,对二维数据点分类进行可视化,最后使用之前使用过的SMS垃圾短信语料库中的短信数据进行模型训练并对短信数据进行分类。

Read More

2017-07-13
机器学习算法实践-Logistic回归与梯度上升算法(上)

机器学习算法实践-Logistic回归与梯度上升算法(上)

前言

关于Logistic回归分类器我打算用两部分总结,第一部分主要介绍Logistic回归的理论相关的部分,因为这里涉及到通过似然函数建立Logistic回归模型以及使用梯度上升算法优化参数两个主要的内容, 感觉可能比较多, 不过对于学习过最优化方法, 概率论以及线性代数的基础内容童鞋来说,这部分也是很快就掌握得啦。第二部分主要总结Logistic回归模型的代码实现和模型训练以及测试等。

Logistic回归

Logistic回归为概率型非线性回归模型, 是研究二值型输出分类的一种多变量分析方法。通过logistic回归我们可以将二分类的观察结果$y$与一些影响因素$[x_{1}, x_{2}, x_{3}, …]$ 建立起关系从而对某些因素条件下某个结果发生的概率进行估计并分类。

Read More