Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

注:这是我在“我爱公开课”上做的学习笔记,会在52opencourse和这里同步更新。随着Coursera和Udacity这样的注重交互式的网络课堂的兴起,相信传统教育模式即将遭到颠覆。欢迎大家在52opencourse这个问答平台上进行交流,希望能为大家提供一个开放、免费、高质量以及世界级的公开课中文交流平台和桥梁。

以下转自原文: Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

Coursera上于4月23号启动了6门公开课,其中包括斯坦福大学于“机器学习”课程,由机器学习领域的大牛Andrew Ng教授授课:

https://www.coursera.org/course/ml

课程刚刚开始,对机器学习感兴趣的同学尽量注册,这样即使没有时间学习,获取相关资料特别是视频比较方便。

由于工作繁忙的缘故,这批科目里我主要想系统的学习一下“机器学习”课程,所以计划在52opencourse和52nlp上同步我的机器学习课程笔记,一方面做个记录和总结,另一方面方便后来者参考。

Coursera上机器学习的课程学习过程是这样的:看Andrew Ng教授的授课视频或者看看课程相关的ppt;答系统随机出的题,一般5道题,单选、多选甚至填空,满分5分;编程作业,需用Octave(和 Matlab相似的开源编程语言)完成,提交给系统得分,在规定时间内完成,均取最高分,超过规定时间会对得分打折。

第一周(4月23日-4月29日)的课程包括三课:

  • Introduction(引言)
  • Linear Regression with One Variable(单变量线性回归)
  • (Optional) Linear Algebra Review(线性代数回顾)(对于线性代数熟悉的同学可以选修)
4月30日是答题(Review Questions)截至时间。
以下是第一课“引言”的PPT课件资料,视频可以在Coursera机器学习课程上观看或下载:
PPT   PDF
以下是本课程的学习笔记,除了参考机器学习课程本身的内容外,还参考网上其他资料,特别是维基百科来做注解,欢迎学习该课程的同学在“ 我爱公开课”上进行探讨。

一、机器学习概览
1)机器学习定义:机器学习是人工智能的一个分支,目标是赋予机器一种新的能力。机器学习的应用很广泛,例如大规模的数据挖掘(网页点击数据,医疗记录等),无人驾驶飞机、汽车,手写手别,大多数的自然语言处理任务,计算机视觉,推荐系统等。 机器学习有很多定义,广为人知的有如下两条:

Arthur Samuel (1959): Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.

注:Arthur Lee Samuel (1901–1990) 教授是美国人工智能领域的先驱,他设计了一些下棋程序,可以通过不断的下棋来学习,从而达到很高的下棋水平。

Tom Mitchell (1998) : Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

例子:对于一个垃圾邮件识别的问题,将邮件分类为垃圾邮件或非垃圾邮件是任务T,查看哪些邮件被标记为垃圾邮件哪些被标记为非垃圾邮件是经验E,正确识别的垃圾邮件或非垃圾邮件的数量或比率是评测指标P。

2)机器学习算法的类型

1、有监督学习(Supervised learning):通过生成一个函数将输入映射为一个合适的输出(通常也称为标记,多数情况下训练集都是有人工专家标注生成的)。例如分类问题,分类器 更加输入向量和输出的分类标记模拟了一个函数,对于新的输入向量,得到它的分类结果。

2、无监督学习(Unsupervised learning):与有监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。

3、半监督学习: 介于监督学习与无监督学习之间。

4、强化学习(Reinforcement learning): 通过观察来学习如何做出动作,每个动作都会对环境有所影响,而环境的反馈又可以引导该学习算法。

其他的类型包括推荐系统,Transduction,Learning to learn等。

3)有监督学习详解

有监督学习主要会提供一些标注样本,分为两大问题:回归和分类

房屋价格预测-回归(Regression): 预测连续的输出值(价格)

Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”_第1张图片

 

 

乳腺癌(良性,恶性)预测问题-分类(Classification): 预测离散的输出值(0, 1)

Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”_第2张图片

 

4) 无监督学习详解:有监督学习和无监督学习的对比,看图更形象: Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”_第3张图片                              Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”_第4张图片

例子: Google News, 基因序列分析,社会网络分析,市场切分等…

 

特别的例子:鸡尾酒会问题(Cocktail party problem)

“ 鸡尾酒会问题”(cocktail party problem)是在计算机语音识别领域的一个问题,当前语音识别技术已经可以以较高精度识别一个人所讲的话,但是当说话的人数为两人或者多人时,语音识别率就会极大的降低,这一难题被称为鸡尾酒会问题。

Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”_第5张图片

鸡尾酒会问题算法(一行代码):

[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x’);

 

一些参考资料:

解决方法ICA demo: http://research.ics.tkk.fi/ica/cocktail/cocktail_en.cgi

http://www.vislab.uq.edu.au/education/sc3/2001/johan/johan.pdf

http://www.physorg.com/news75477497.html
http://en.wikipedia.org/wiki/Cocktail_party_effect

http://www.scientificamerican.com/article.cfm?id=solving-the-cocktail-party-problem

 

以下关于”cocktail party problem”的文字引用自该链接:http://xiaozu.renren.com/xiaozu/121443/thread/335879281

stanford机器学习公开课(ml-class.org)第一章unsupervised learning那段视频里解决鸡尾酒会问题(cocktail party problem)就写了一行代码:

[W,s,v] = svd ((repmat(sum(x.*x,1),size(x,1),1).*x)*x’);

lz土人感觉是用了PCA的方法。。可是W运行出来丝毫没有unmixing的效果。。。用的是采样频率16kHz的Speech-Speech和Speech-Music两个样例。。

google这条代码有post说这是ICA,我就迷茫了。。。看不出来怎么是ICA了。。折腾一夜了,毫无头绪。。。

顺便求此问题的demo。。各种语言均无妨。。

本文链接地址:http://www.52nlp.cn/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AC%AC%E4%B8%80%E8%AF%BE%E5%BC%95%E8%A8%80introduct

 

你可能感兴趣的:(机器学习)