标签:分享 coursera play fixed from 中心 inline addclass function
声明:
开个新坑,督促自己坚持学习。这个系列同样是学习心得以及总结,用到的资料都是从吴恩达大神在Coursera上的课程中摘下来的。另外,依照Coursera的要求,保证学员的学习质量,在这一系列心得中不会出现与Coursera习题答案有关的代码。
为了帮助自己更深刻的理解,除了一些人名、引用或者算法的缩写,比如‘BFGS’、‘L-BFGS’等等之外,尽量使用中文。这一系列的文章结构都是按照大神的课程来的,理解成翻译其实也没毛病。
有很多种说法,大致意思都是:“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”
下面是一种较常见的引用,不明觉厉,仅是应用的话并不用纠结于定义。
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
通常来说,机器学习主要分为监督学习(Supervised Learning)和非监督学习(Unsupervised Learning)。事实上最近我还看到的半监督学习(Semi-supervised Learning),等以后确实了解了再总结一下。
监督学习应具备几个特点,即有一个用于训练(Training)的数据集合,并且明确的知道正确的输出结果应该是怎样的形势,而且清楚的知道训练集的数据与输出结果之间的关系。简而言之,当涉及到“训练”的时候八九不离十就是监督学习了。
监督学习又进一步被分为两类问题,分别是“回归问题(Regression)”和“分类问题(Classification)”。这两类问题主要是由输出的结果进行区分:“回归问题”的输出结果应该是一个连续的函数,比如,根据房屋面积预测房价(实际上和房价有关的特征并不仅仅是面积);“分类问题”的输出结果应该是离散,比如,根据肿瘤的大小预测该肿瘤是恶性的还是良性的。
通过非监督学习我们可以解决一些我们并不清楚其结果应该是怎想的问题。通过聚类(Clustering)或者说是归纳的方法,我们可以发现特征变量(Variables)和数据集之间的某些关系。
例:对于基因序列的研究,通过非监督学习,我们可以发现某些基因片段与生命延长、遗传疾病、性格特征……等表现形式之间关系。
概念讲完了,接下来首先学习“监督学习”。开始具体的学习之前需要对符号做一些规定和说明。对于接下来的课程我们做如下规定,以根据房屋面积预测房价为例:
为了更好的理解监督学习,我们可以说,实际上监督学习的目的就是通过学习大量经验数据找到一个“合适”的预测函数进行预测,即
当我们用
成本函数的功能是用于表示
容易看出,这个公式和“方差”很像,仅仅多了一个
“x”表示训练实例,
最理想的情况,所有的训练实例都在一条直线上,如图,此时
假设
当
左图中的斜线为右图中点
上图更进一步,选择的点距中心更近了一步
这一次,我们选到了中心,可以看到中心点对应的
注:这一部分如果有微积分相关的知识就很容易理解了,如果没有相关知识也没关系,并不会影响实际得应用。
根据前文的内容,我们知道最合适的
注:上图所示的情况得到的极小值和其初始状态有关,不一定就是
重复做如下动作至
“:=”表示赋值的意思。
由于这一章只讨论单一变量的线性回归问题,所以
确定特征
重复至收敛 {
在括号中
另外,需要提一下,这种同一时间同时更新所有的特征变量
跟着Andrew Ng挑战Machine Learning:第一周 —— 概念+单一变量线性回归
标签:分享 coursera play fixed from 中心 inline addclass function
原文地址:http://blog.csdn.net/credolhcw/article/details/70142805