机器学习

有趣的机器学习

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

介绍机器学习模式, 使用这些模式的方法技巧都将在这个简介系列中概括得通俗易懂.

强化学习 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 的兼容性 (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 教程 包括: 介绍基本使用, 如何选择合适的机器学习方法, 通用的训练模式等等.

支持 让教学变得更优秀


点我 赞助 莫烦