机器学习的学习历程

原创 2016年08月31日 11:17:27

最近在跟Stanford大学放在Coursera上的机器学习课程,讲师是著名的华人Andrew Ng. 这是我见过为数不多的为期10个星期的课程,而且每个星期巨大的工作量也是罕见。

今天我想在继续学习之前稍微复习一下学过的内容,把前3周的内容用博客文章的形式整理一遍。

机器学习大致分为两类:supervised learning和unsupervised learning,我自行翻译一下是自发学习和非自发学习,虽然顺序颠倒了一下。

  • Supervised Learning主要是回归分析(regression),用来预测连续的量
  • Unsupervised Learning被称为“分类”(classification),用来处理离散的0或1问题;这种学习方式是算法自发进行的学习,可以找到一组数据中的结构,Andrew举了一个例子,用unsupervised learning可以区分不同音轨

一些课程中用到的符号表示,Andrew意思是这些符号在普遍的机器学习使用中都有运用,所以这里还是提及一下。

Notation Meaning
m 样本的数量
x 输入
y 输出
(x, y) 单次训练
(x(i),y(i)) i个训练集合

机器学习大概的模型是一组训练集,经过了算法的处理得到输出,主要过程如下图所示:

x(input) -> h -> y(output)

其中h是hypothesis 的意思,当 h=θ0+θ1x 的时候我们成这种算法为“线性回归”(Linear Regression)。

下面介绍了cost function和gradient descent(梯度下降法)。

Cost Function:

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2

而Gradient Descent就是一种最小化Cost Function的方法,找到使得cost最小的 θ0,θ1 的值,或者说向量 θ 的值,课程给我一个印象就是向量化非常重要。

具体执行Gradient Descend的时候步骤是这样的:先从某个选定的 θ0,θ1 开始,不断改变他们俩的值从而减小cost,直到达到最小值。如何改变,课程里运动了求偏导数,可能就是求梯度的方法:

θj:=θjαθjJ(θ0,θ1)

一个正确的Gradient Descend过程应该在每次改变 θ 值后cost都能减小,越往后减小的量越小,最终收敛于某个值,这就是我们想要的最小值。

版权声明:本文为博主原创文章,未经允许,请勿转载。 举报

相关文章推荐

【Machine Learning公开课】Chapter 2

这一讲Ng给我们讲了什么是有监督学习,以及一种常用的求最值方法:梯度下降法。 首先我们回顾下一个简单的机器学习过程:首先给出一个输入数据,我们的算法会通过一系列的过程得到一个估计的函数,这个函数有能力...

《Python机器学习算法》的写作历程

最近有两个多月的时间没来更新博客,是一直在忙着一件事——将博客中的一些文章整理成书。一开始写博客,给自己的文章建了一个响亮的标题《简单易学的机器学习算法》,但是发现写着写着,每一个算法也变得没那么简单...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)