The best input is OUTPUT.

2017-08-15
机器学习算法实践-支持向量机(SVM)算法原理

机器学习算法实践-支持向量机(SVM)算法原理

前言

关于SVM的算法实践我打算分成多个部分进行总结。本文为第一部分主要介绍SVM的原理以及相关算法的简单推导,其中包括SVM原理,最初表达式,标准形式以及对偶形式(二次规划问题),形式变化过程中涉及到求解有约束优化问题的拉格朗日乘子法以及KKT条件等。

什么是支持向量机

对于线性可分两类数据,支持向量机就是条直线(对于高维数据点就是一个超平面), 两类数据点中的的分割线有无数条,SVM就是这无数条中最完美的一条,怎么样才算最完美呢?就是这条线距离两类数据点越远,则当有新的数据点的时候我们使用这条线将其分类的结果也就越可信。例如下图中的三条直线都可以将A中的数据分类,那条可以有最优的分类能力呢?

  1. 我们需要线找到数据点中距离分割超平面距离最近的点(找最小)
  2. 然后尽量使得距离超平面最近的点的距离的绝对值尽量的(求最大)
Read More

2017-08-12
150多个最好的与机器学习,自然语言处理和Python相关的教程

150多个最好的与机器学习,自然语言处理和Python相关的教程

本文翻译自Over 150 of the Best Machine Learning, NLP, and Python Tutorials I’ve Found, 首发于伯乐在线,未经许可禁止转载。

机器学习已经发展了很久, 它的历史可以追溯到1959年,但是如今此领域的发展速度可以说是空前的。在最近的几篇文章中, 我讨论了人工智能领域为何会在现在以及不久的将来持续蓬勃发展。如今很多对机器学习感兴趣的同学都普遍表示入门很难。

Read More

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