[机器学习Lesson 1 Introduction] 机器学习的动机与应用
1. Machine Learning definition(机器学习定义)
Arthur Samuel(1959年)将机器学习非正式定义为:在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。
创造西洋棋程序,可以和自己对战。Tom Mitchell(1998年)提出一个更为正式关于机器学习的定义 :对于一个计算机程序来说:给它一个任务T和一个性能测量方法P,如果在经验E的影响下,P对T的测量结果得到了改进,那么就说改程序从E中学习。
E = the experience of playing many games of checkers
T = the task of playing checkers.
P = the probability that the program will win the next game.
2. Supervised Learning (监督学习)
它被称作监督学习是因为对于每个数据来说 我们给出了 “正确的答案”。
你有一些问题和他们的答案,你要做的有监督学习就是学习这些已经知道答案的问题。然后你就具备了经验了,这就是学习的成果。然后在你接受到一个新的不知道答案的问题的时候,你可以根据学习得到的经验,得出这个新问题的答案。(试想一下高考不正是这样,好的学习器就能有更强的做题能力,考好的分数,上好的大学.....)。我们有一个样本数据集,如果对于每一个单一的数据根据它的特征向量我们要去判断它的标签(算法的输出值),那么就是有监督学习。通俗的说,有监督学习就是比无监督学习多了一个可以表达这个数据特质的标签。
包含回归(Regression)和分类(Classfication)。
- 举例:
- 房价 与 面积的关系
2.1 Classfication (分类任务)
离散变量预测,设定了标准答案,复合条件,是或否。
举例:
- 肿瘤良性/恶性 与 肿瘤大小的关系。(0或1结构)
- 年纪 与 肿瘤大小关系。(聚合结构)
- 预测明天的气温是多少度
Support Vector machines(支持向量机的算法):可以吧数据映射到无限维空间中。
问题:
- 如何把一个无限维的向量映射到计算机内存中?
- 如何表示一个无限纬空间中的点?
2.2 Regression(回归任务)
连续变量预测。
- 举例:
- 预测明天的气温是多少度。
3. Unsupervised Learning(无监督学习)
数据聚合、分类。
我们有一些问题,但是不知道答案,我们要做的无监督学习就是按照他们的性质把他们自动地分成很多组,每组的问题是具有类似性质的(比如数学问题会聚集在一组,英语问题会聚集在一组,物理........)。
所有数据只有特征向量没有标签,但是可以发现这些数据呈现出聚群的结构,本质是一个相似的类型的会聚集在一起。把这些没有标签的数据分成一个一个组合,就是聚类(Clustering)。比如Google新闻,每天会搜集大量的新闻,然后把它们全部聚类,就会自动分成几十个不同的组(比如娱乐,科技,政治......),每个组内新闻都具有相似的内容结构。
- 举例:
- 提供一组数据,不提供任何数据的正确答案,你能否在这组数据中寻找到一些有趣的数据结构?
- 基因数据分组。
- 聚合算法处理图像,对像素数据进行聚合分组,得到类似素描的效果,等效表达。
- 图像处理,将图像分成不同区域,像素分到不同区域。创建3D模型,创造类似AR的效果。
- 计算机集群,社交网络分析,市场划分,航天数据分析。
3.1 Cocktail party problem(鸡尾酒会问题)
假设我们在参加一个鸡尾酒会,有很多人参加,在环境嘈杂,很多人说话的情况下,能否把感兴趣的某个人的声音单独从嘈杂的背景音中提取出来?
规律:不同麦克风收集到说话者声音大小不一样。
- 算法A
将人声从人声中分离 - 独立组件分析
将人声从音乐中分离
其他应用:
- 文本处理
- 理解功能分级
使用MATLAB一行代码实现以上算法。
3.2 ICA algorithm
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
4. Reinforcement Learning(强化算法学习)
基本概念是一个被称为 回报函数的概念。
使用在不需要进行一次决策的情形中。
- 举例
- 使用监督学习进行癌症预测,预测一个病人肿瘤是否为恶性。你的预测决定了病人是生死。通过决策产生一个结论,要么对,要么错。
在强化学习问题中,通常会一段时间内做出一系列的决策
- 举例
- 自动直升机:给你自动直升机的钥匙,能否写个程序让它飞起来?如果做了一个坏的决策,飞机可能不会马上摔下来,只有你连续做出很多坏的决策时,飞机才会摔下来。相反的,只要连续的做出正确的决策,飞机就可以飞起来了。
- 训狗,正确奖励;错误惩罚。
- 机器人领域。
[机器学习Lesson 1 Introduction] 机器学习的动机与应用的更多相关文章
- PRML读书会第一章 Introduction(机器学习基本概念、学习理论、模型选择、维灾等)
主讲人 常象宇 大家好,我是likrain,本来我和网神说的是我可以作为机动,大家不想讲哪里我可以试试,结果大家不想讲第一章.估计都是大神觉得第一章比较简单,所以就由我来吧.我的背景是统计与数学,稍懂 ...
- Stanford机器学习---第七讲. 机器学习系统设计
原文:http://blog.csdn.net/abcjennifer/article/details/7834256 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- Spark机器学习 Day2 快速理解机器学习
Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这 ...
- 机器学习入门18 - 生产机器学习系统(Production ML Systems)
除了实现机器学习算法之外,机器学习还包含许多其他内容.生产环境机器学习系统包含大量组件.无需自行构建所有内容,而是应该尽可能重复使用常规机器学习系统组件.通过了解机器学习系统的一些范例及其要求,可以明 ...
- [机器学习Lesson 2]代价函数之线性回归算法
本章内容主要是介绍:单变量线性回归算法(Linear regression with one variable) 1. 线性回归算法(linear regression) 1.1 预测房屋价格 该问题 ...
- 机器学习介绍(introduction)-读书笔记-
一,什么是机器学习 第一个机器学习的定义来自于 Arthur Samuel.他定义机器学习为,在进行特定编程的情况下,给予计算机学习能力的领域.Samuel 的定义可以回溯到 50 年代,他编写了一个 ...
- 【笔记】机器学习 - 李宏毅 - 1 - Introduction & next step
Machine Learning == Looking for a Function AI过程的解释:用户输入信息,计算机经过处理,输出反馈信息(输入输出信息的形式可以是文字.语音.图像等). 因为从 ...
- 机器学习笔记1——Introduction
Introduction What is Machine Learning? Two definitions of Machine Learning are offered. Arthur Samue ...
- <转>机器学习系列(9)_机器学习算法一览(附Python和R代码)
转自http://blog.csdn.net/han_xiaoyang/article/details/51191386 – 谷歌的无人车和机器人得到了很多关注,但我们真正的未来却在于能够使电脑变得更 ...
随机推荐
- 通过grub-install命令把grub安装到u盘-总结
通过grub-install命令把grub安装到u盘 ①准备一个u盘,容量不限,能有1MB都足够了. ②把u盘格式化(我把u盘格式化成FAT.fat32格式了,最后证明也是成功的).③开启linux系 ...
- Linux显示工作路径
Linux显示工作路径 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ pwd /home/youhaidong
- Django学习-6-路由系统
1.url(r'^index/', views.index), 函数处理 url(r'^home/', views.Home.as_view()), 类方法处理 ...
- Dshell----开源攻击分析框架
前言 随着互联网的高速发展,网络安全问题变得至关重要,随着网络的不断规模化和复杂化,网络中拒绝服务(Denial of Service,DoS)攻击和分布式拒绝服务(Distributed Denia ...
- angular路由操作
在单页面应用程序中比如angular应用,我们需要根据url的变化(即:不同的请求),来分配不同的资源.根据请求的URL来决定执行哪个模块,这个过程叫路由,同时,我们需要设计路由规则. 下面给出一个简 ...
- pat 1001-1010
最近有点神志无知 命运中很多事情真是奇妙 我必须改变自己的状态 1001 简单的模拟 #include<bits/stdc++.h> using namespace std; int ma ...
- The Moving Points HDU - 4717
There are N points in total. Every point moves in certain direction and certain speed. We want to kn ...
- js数组使用JSON.stringify()和toString()的区别,JSON.parse
JSON.stringify()中的<br><br>var arr = [1,2,3,4]; console.log(arr.toString()); // 1,2,3,4 a ...
- MySQL定时备份数据库
一.MySQL数据备份 1.1. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump ...
- 6个重要的.NET概念: - 堆栈,堆,值类型,引用类型,装箱和拆箱(转)
今天在Code Project上面看到一篇文章<6 important .NET concepts: - Stack, heap, Value types, reference types, b ...