TomMitchell 对机器学习的定义是:Acomputer program is said to learn from experience E, with respect to some taskT, and some performance measure P, if its performance on T, as measuredby P, improves with experience E. 很押韵,诗情画意。简单说就是指程序可以从经验E中学习,让任务T的性能提高,性能通过P来度量。
机器学习分为监督学习(Supervised learning)、无监督学习(Unsupervised learning),以及增强学习(Reinforcement learning)和推荐系统(Recommender system)。监督学习是指在训练的时候就知道正确结果,比如教小孩子给水果分类,先给他一个苹果,然后告诉他,这是苹果,再给他一个苹果,接着告诉他,这是苹果,经过这样反复的训练学习,如果再给他苹果的时候,问他,这是什么?他应该告诉你,这是苹果。如果给他一个梨,他应该告诉你,这不是苹果。监督学习分为两类:回归(Regression)和分类(Classification),如果机器学习算法的输出值是连续值,则属于回归问题,如果是离散值,则属于分类问题。和监督学习不同,无监督学习在训练的时候并不知道正确结果,继续上面的例子,给小孩子一堆水果,比如有苹果、橘子、梨三种,小孩子一开始不知道这些水果是什么,让小孩子对这堆水果进行分类。等小孩子分类完后,给他一个苹果,他应该他这个苹果放到刚刚分好的苹果堆中去。无监督学习常用的方法是聚类(Clustering)。增强学习是在机器学习算法程序运行的过程中,我们对他的行为作出评价,评价有正面和负面两种,通过学习评价程序应该做出更有可能得到好评价的行为。
这次主要讲线性回归中的单变量线性回归,先给几个定义:
m:表示训练集中样本的个数。
x:输入变量,也就是特征,可以有多个,对于单变量线性回归只有一个输入。
y:输出变量,即目标值。
(x, y):训练样本集。
(x(i), y(i)):第i个训练样本。
线性回归的目标是根据给定的训练样本集合,训练得到一个线性目标函数h,通过这个函数,对其他未知输入可以预测出正确结果,目标函数表示为:

我们的目标就是找到合适的
和
。
怎么知道找到的目标函数是否正确?
我们应该有一个评价函数来比较预测值和目标值之间的差距,差距越小,目标函数就越准确,评价函数表示为:

其中
是预测值,y是样本的目标值。当
,评价函数J是关于自变量
的开口向上的抛物线。当
,评价函数J是一个关于变量
和
的三维曲面。我们的目标就是最小化评价函数:

怎样求得目标函数?
我们采用梯度下降法(Gradient descent),就像下山,按一定的步伐大小往下走,直到山底,如图所示:

算法过程如下:
repeat until convergence{
(for j=0 andj=1) (1)
}
其中
为正数,表示学习速度,即我们采用多大的步长更新
,
值越大表示学习速度越快,小则表示学习速度慢。
和
必须同步更新,即

我们来看看梯度下降法的几何意义,我们把问题简化,令
,则评价函数J为关于自变量
的开口向上抛物线,对J进行求导得到的是抛物线上一点的切线的斜率。当斜率为正时,式(1)第二项的结果为正,则
越来越小,
越小,评价函数的值越接近抛物线的中线位置,即越接近最小值。同理当斜率为负时,第二项结果为负,减去负数表示加上一个正数,所以
越来越大,
越大,评价函数的值越接近抛物线的中线位置,即越接近最小值。可以用如下图表示:

再来看看
的意义,当
太小,
更新的很慢,梯度下降算法执行将收敛的很慢;当
太大,梯度下降算法有可能超过目标值(最小值),导致无法收敛,甚至发散。如下所示:

尽管
的值是固定的,梯度下降算法也会收敛到局部最小值,因为当接近最小值时,斜率(即J求导得到的值)会越来越小,所以(1)的第二项会越来越小,所以没必要时刻的减少
值。
把目标函数带入(1)式,求导后,则梯度下降算法的最终结果如下:
repeat until convergence{
(for j=0 andj=1)
}
以上是本人学习斯坦福大学教授Andrew Ng的机器学习在线课堂的笔记,地址是:http://www.ml-class.org/course/class/index,如需转载,请注明出处:http://blog.csdn.net/huagong_adu/article/details/7272810
分享到:
相关推荐
斯坦福大学的精品视频课程——Machine Learning,深入浅出,看会收获很大,分享给大家!
2018年更新的最新收集:斯坦福的stanford machine learning笔记。包括Lecture Notes、Section Notes、Supplemental Notes。对深度学习有很大帮助
stanford machine learning 的 Lecture Notes/ Section Notes / Supplemental Notes
通过完成Stanford的machine-learning-ex1作业,你将不仅掌握线性回归的基本概念,还将熟悉编程实现和优化模型的过程,这是机器学习旅程的重要一步。记得在实践中不断探索和调试,以深化对机器学习的理解。
这门课程不仅涵盖了机器学习的基础理论,还深入探讨了实际应用中的各种算法和技术,为初学者提供了丰富的学习资源,包括学习笔记和原始讲义。 一、机器学习基础 机器学习是人工智能的一个分支,旨在让计算机通过...
最新(2013年春)一期的Coursera 机器学习课程 Machine Learning Andrew Ng Stanford 课程项目(未包含答案)合集 Stanford这个的课程的核心就在于他的课程项目,全部是是现实实例的应用,绝对经典。自己动手做一做...
Coursera上的Machine Learning想来大家都有所耳闻,不过那是简化版本,Stanford教学版本深度要大得多,附件中是整理好的该课程所有的笔记和作业问题集,包括Lecture notes、section notes、Supplementary Notes和...
CS229是斯坦福大学一门非常著名的机器学习课程,由Andrew Ng教授主讲,是计算机科学领域中机器学习方向的经典入门课程。该课程涵盖了广泛的机器学习主题,包括但不限于监督学习、无监督学习、最佳实践和应用。 在...
stanford machine learning
最新(2013年春)一期的Coursera 机器学习课程 Machine Learning Andrew Ng Stanford 讲义合集 lectures 是我在跟进课程学习时候下载的,非常好的课程和讲解,的确很有收获。 希望能够对大家有用。
### Stanford Machine Learning Course Notes (Andrew Ng) #### Supervised Learning 监督学习是机器学习的一个核心领域,涉及使用已标记的数据集来训练模型,从而预测新数据的输出值。本课程笔记中,通过一个具体...
cs229 stanford machine learning(所有的lectures)(1).rar
VIP cheatsheets for Stanford's CS 229 Machine Learning. Cheatsheets for each machine learning field, as well as another dedicated to tips and tricks to have in mind when training a model. Refreshers ...
Matab codes for a simple Neural Network, based on Stanford s Machine Learning online course.
1. 监督学习:线性回归与逻辑回归 监督学习是机器学习中的一种学习范式,其训练数据包含了输入(特征)和相应的期望输出(标签)。线性回归试图找到输入和输出之间的线性关系,是回归分析中最基础的模型。逻辑回归是...
机器学习 Open Stanford Course : Engineering Everywhere-MachineLearning
Stanford Machine Learning Andrew Ng lecture notes/supplemental notes/section notes url: http://cs229.stanford.edu/materials.html open course url:...
2021年冬季斯坦福大学Stanford CS224W《图机器学习Machine Learning with Graphs》课程全部PPT,从官网下载的,有缘人自取,不需要积分就可以下载,欢迎大家下载。这位大佬的视频b站有相关的视频,感兴趣的可以去...
Andrew Ng Stanford University 机器学习是一种让计算机在没有事先明确地编程的情况下做出正确反应的科学 在过去的十年中 机器学习已经给我们在自动驾驶汽车 实用语音识别 有效的网络搜索 以及提高人类基因组的认识...