机器学习系列

有趣的机器学习

有趣的机器学习 里的前半部分囊括了近些年来比较流行的机器学习方法的介绍, 每段介绍简洁精炼, 没有废话, 是快速入门的好途径. 同时, 后半部分的内容注重在如何提升机器学习的效率, 调整机器学习的模式等, 适合于已经入门机器学习, 却还没有找到好方法去运用机器学习的同学们.

强化学习 Reinforcement Learn

强化学习 Reinforcement Learning 是机器学习大家族中重要一员. 他的学习方式就如一个小 baby. 从对身边的环境陌生, 通过不断与环境接触, 从环境中学习规律, 从而熟悉适应了环境. 实现强化学习的方式有很多, 比如 Q-learning, Sarsa 等, 我们都会一步步提到. 我们也会基于可视化的模拟, 来观看计算机是如何学习的. 这一个 强化学习 教程 包括: 各种强化学习的方法.

进化算法 Evolutionary-Algorithm

进化算法 (Evolutionary Algorithm) 是机器学习的一个分支, 最著名的进化算法之一就是遗传算法 (Genetic Algorithm). 进化算法是受达尔文进化理论的启发. 想象自己的计算机里生长着一群族群, 而且他们还会根据 “适者生存, 不适者淘汰” 不停进化, 有没有感觉自己的电脑会像科幻片里面那样, 迟早有一天主宰地球. 哈哈, 不知道这么说你们会不会感兴趣, 反正我就是抱着这种想法学习这一类算法的. 我就想看看自己电脑里面的小生物能够进化到多聪明. 进化算法 教程 会介绍到主要的几个板块: 经典的遗传算法 (Genetic Algorithm), 神经进化 (NeuroEvolution), 进化策略 (Evolution Strategy)

神经网络: Tensorflow

Tensorflow 是由 Google 团队开发的神经网络模块, 正因为他的出生, 也受到了极大的关注, 而且短短几年间, 就已经有很多次版本的更新. 这一个 Tensorflow 教程 从 Tensorflow 的基础结构开始讲解, 直到能手把手教你建立自己的第一个神经网络. 其中, 我们会不断用例子进行巩固. 比如学会用 Tensorflow 搭建卷积神经网络 CNN 来识别图片, 搭建循环神经网络 RNN 来预测不断变化的曲线. 学会使用 Tensorboard 可视化你所搭建的神经网络等等. 结合理论和实践, 这一套 Tensorflow 的教程是入门到高级的最佳途径了.

神经网络: PyTorch

PyTorch 的开发/使用团队包括 Facebook, NVIDIA, Twitter 等, 都是大品牌, 算得上是 Tensorflow 的一大竞争对手. PyTorch 使用起来简单明快, 它和 Tensorflow 等静态图计算的模块相比, 最大的优势就是, 它的计算方式都是动态的, 这样的形式在 RNN 等模式中有着明显的优势. 不过各家有各家的优势/劣势, 我们要做的, 就是选择一个自己感兴趣的模块, 死命地学, 学好一个就够用了. PyTorch 教程 我们会从初级的使用方法开始介绍, 然后一步步往高级的神经网络形式走, 神经网络的基础一个也不落下.

神经网络: Theano

Theano 的使用方法和 Tensorflow 类似, 甚至可以说 Theano 是 Tensorflow 的学长了. 不过因为它出生在学术的环境中, 所以以前的大部分科研人员一直也在用它. 相比 Tensorflow, 它也是一个很完善的神经网络模块了. 而且集成了 Windows 的兼容性, 所以, Theano 也是不二的学习选择. Theano 教程 和 Tensorflow 一样, 也是从初级的 Theano 代码格式开始讲解, 先理解底层结构, 然后再开始运用.

神经网络: Keras

Keras 是建立在 Tensorflow 和 Theano 之上的更高级的神经网络模块, 所以它可以兼容 Windows, Linux 和 MacOS 系统. 而且使用 Keras 来创建神经网络会要比 Tensorflow 和 Theano 来的简单, 因为他优化了很多语句. 所以, 如果图一个快, 容易, 那选择学习 keras 准没错. Keras 教程 包含了很多内容, 是以例子为主体. 对每一种神经网络形式都有例子为基础. 在 keras 教程中, 不会再涉及到神经网络的基本知识, 所以这是一个比较适合已经有一定 Theano 或 Tensorflow 经验的同学们学习. 在 Keras 教程中, 会要介绍如何搭建普通的分类和回归神经网络, CNN, RNN, Autoencoder 等.

机器学习通用: SciKit-Learn

SciKit-Learn 又称 sklearn, 是众多机器学习模块中比较优秀的. 因为他汇集了太多太多机器学习的方法. 比如各种监督学习, 非监督学习, 半监督学习的方法. 所以说, sklearn 就像机器学习模块中的瑞士军刀. 在 sklearn 中, 你总能找到一个适合你的机器学习方法. sklearn 教程 包括: 介绍基本使用, 如何选择合适的机器学习方法, 通用的训练模式等等.

从头开始实践机器学习

我们学习了很多机器学习的方法, 现在就是实践的时候了, 让我们从头开始, 一步一步的实现各种机器学习. 让你在学习的时候还能真正意义上体验到如何将书本中的知识实践起来. 这个实践教程将会带着你将你从书本中学到的知识活学活用, 带着你上山打老虎.

计算机视觉

计算机视觉是近些年来发展的重点之一, 我们在这里会看到计算机是如何理解图片, 怎么样会观看事物, 又有哪些有趣的应用. 这个实践教程将会带着你深入计算机视觉, 以计算机的角度”看待”问题.