zoukankan      html  css  js  c++  java
  • 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): 预测连续的输出值(价格)

     

    有监督学习举例-房屋价格预测-52opencourse.com

     

     

     

     

     

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

     

    乳腺癌预测问题-52opencourse.com

     

     

     

     

    4) 无监督学习详解:

     

    有监督学习和无监督学习的对比,看图更形象:

     

    有监督学习-我爱公开课-52opencourse.com                              无监督学习-我爱公开课-52opencourse.com

     

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

     

     

     

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

     

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

     

    鸡尾酒会问题-我爱公开课-52opencouse.com

     

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

     

    [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://52opencourse.com/54/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%80-introduction

     

     

  • 相关阅读:
    买房的贷款时间是否是越长越好?https://www.zhihu.com/question/20842791
    asp.net cookie and session
    leelazero and google colab
    download file by python in google colab
    physical processor, core, logical processor
    通过powershell操作eventlog
    openxml in sql server
    get the page name from url
    How to Execute Page_Load() in Page's Base Class?
    Difference between HttpContext.Request and Request
  • 原文地址:https://www.cnblogs.com/94julia/p/3092994.html
Copyright © 2011-2022 走看看