到目前为止,我们已经一同学习了许多不同的学习算法。然而在懂机器学习的人当中,依然存在着很大的差距。一部分人确实掌握了怎样高效有力地运用这些学习算法,而另一些人可能没有完全理解怎样运用这些算法,因此总是把时间浪费在毫无意义的尝试上,接下来我们就来看看如何让确保你在设计机器学习的系统时走的是一条最合适最正确的道路。 接下来该干什么? 为了确保我们不会在无意义的调整上浪费时间,我们需要重点关注...
在之前的几篇BLOG中,我们一同学习了很多关于神经网络的零散的知识。下面就让我们一同把它们整合起来。 网络结构选择 当我们准备训练一个神经网络时,我们要做的第一件事就是搭建网络的大体框架,这里我说的框架指的是神经元之间的连接模式。比如我们可能会从以下几种结构中选择: 上图中,第一种神经网络的结构是一个输入层三个输入单元,一个隐藏层五个隐藏单元和一个输出层四个输出单元;第二种结构是一个输...
在之前的BLOG里,我们介绍了神经网络的大致原理。 现在就让我们一起来看看其中的一些实现技巧吧! 矩阵展开 在神经网络反向传播的过程中,我们需要将参数从矩阵展开成向量,以便我们在高级最优化步骤中的使用需要,我们称这个将矩阵展开成向量的过程为过程是矩阵展开。 具体来讲,为了使用 Octave 自带的高级优化算法,我们需要自己编写代价函数 costFunction : function [j...
在之前的BLOG里,我们通过例子讲解了神经网络的作用。现在让我们来看看如何定义我的代价函数已经如何最小化我们的代价函数吧。 代价函数 神经网络是当今最流行的学习算法之一,现在就让我们一同学习在给定训练集下为神经网络拟合参数的学习算法。正如我们之前学习的大多数学习算法一样,我们还是从拟合神经网络参数的代价函数开始讲起。 我们还是从例子入手。下图是神经网络结构,假设我们有一个像下面这样的训练...
在之前的BLOG里,我们通过实例讲解了如何通过神经网络来解决逻辑运算的假设模型,这篇BLOG就让我们通过几个例子一起看看神经网络下的多元分类问题吧。 行人与车辆的分类 这一部分,我想和大家一同通过例子了解如何用神经网络做多类别分类。在多类别分类中,通常有不止一个类别需要我们去区分。比如车辆种类的分辨,手写数字辨识的问题登顶。因此你也许已经开始好奇,究竟应该怎样处理这些多类别分类的问题呢。...