Machine Learning 学习笔记1 - 基本概念以及各分类

 

 What is machine learning?

并没有广泛认可的定义来准确定义机器学习。以下定义均为译文,若以后有时间,将补充原英文......

定义1、来自Arthur Samuel(上世纪50年代、西洋棋程序)

    在进行特定编程的情况下给予计算机学习能力的领域。

定义2、来自Tom Mitchell(卡内基梅隆大学)

    一个好的学习问题定义如下:一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P

    当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。

 

机器学习分类   

  • 监督学习(Supervised Learning)
    • 常见算法:逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)
  • 无监督学习(Unsupervised Learning)
    • 常见算法:Apriori算法以及k-Means算法。
  • 强化学习(Reinforcement Learning)
    • 常见算法包括Q-Learning以及时间差学习(Temporal difference learning)
  • 半监督学习(Semi-supervised Learning)
    • 图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)
  • 深度学习(Deep Learning)

 

监督学习(Supervised Learning)

在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。

监督学习的分类:

  1. 回归(Regression)
  2. 分类(Classification)

在回归问题中,我们会预测一个连续值。也就是说我们试图将输入变量和输出用一个连续函数对应起来;而在分类问题中,我们会预测一个离散值,我们试图将输入变量与离散的类别对应起来。

 

监督学习举例:

回归问题:

通过房地产市场的数据,预测一个给定面积的房屋的价格就是一个回归问题。这里我们可以把价格看成是面积的函数,它是一个连续的输出值。 但是,当把上面的问题改为“预测一个给定面积的房屋的价格是否比一个特定的价格高或者低”的时候,这就变成了一个分类问题, 因为此时的输出是‘高’或者‘低’两个离散的值。

 

分类问题:

给定医学数据,通过肿瘤的大小来预测该肿瘤是恶性瘤还是良性瘤(课程中给的是乳腺癌的例子),这就是一个分类问题,它的输出是0或者1两个离散的值。(0代表良性,1代表恶性)。

分类问题的输出可以多于两个,比如在该例子中可以有{0,1,2,3}四种输出,分别对应{良性, 第一类肿瘤, 第二类肿瘤, 第三类肿瘤}。

下图中上下两个图只是两种画法。第一个是有两个轴,Y轴表示是否是恶性瘤,X轴表示瘤的大小; 第二个是只用一个轴,但是用了不同的标记,用O表示良性瘤,X表示恶性瘤。

在这个例子中特征只有一个,那就是瘤的大小。 有时候也有两个或者多个特征, 例如下图, 有“年龄”和“肿瘤大小”两个特征。(还可以有其他许多特征,如下图右侧所示)

 无监督学习(Unsupervised Learning)

 在无监督学习中,我们基本上不知道结果会是什么样子,但我们可以通过聚类的方式从数据中提取一个特殊的结构。在无监督学习中给定的数据是和监督学习中给定的数据是不一样的。在无监督学习中给定的数据没有任何标签或者说只有同一种标签。如下图所示:

如下图所示,在无监督学习中,我们只是给定了一组数据,我们的目标是发现这组数据中的特殊结构。例如我们使用无监督学习算法会将这组数据分成两个不同的簇,,这样的算法就叫聚类算法。

 

 无监督学习举例:

例1、新闻分类

第一个例子举的是Google News的例子。Google News搜集网上的新闻,并且根据新闻的主题将新闻分成许多簇, 然后将在同一个簇的新闻放在一起。如图中红圈部分都是关于BP Oil Well各种新闻的链接,当打开各个新闻链接的时候,展现的都是关于BP Oil Well的新闻。

例2、根据给定基因将人群分类

如图是DNA数据,对于一组不同的人我们测量他们DNA中对于一个特定基因的表达程度。然后根据测量结果可以用聚类算法将他们分成不同的类型。这就是一种无监督学习, 因为我们只是给定了一些数据,而并不知道哪些是第一种类型的人,哪些是第二种类型的人等等。

 

 半监督学习(Semi-supervised Learning):

在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

强化学习(Reinforcement Learning)

 

在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)

 

遗传算法(GENETIC ALGORITHIM):

和强化学期类似,      淘汰弱者、试着生存的原则,通过这种淘汰机制去选择最优的设计或模型

 

深度学习(Deep Learning):

深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是百度也开始发力深度学习后, 更是在国内引起了很多关注。   在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。

 

 总结:

有数据和标签的监督学习、只有数据没有标签的非监督学习、结合了监督学习和非监督学习的半监督学习(少量有标签、大量无标签)、从经验中总结提升的强化学习(机器人投篮)、有着适者生存不适者被淘汰准则的遗传算法、对人工神经网络的发展的深度学习。

 

企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域

 

 

参考课程地址:Supervised Learning & Unsupervised Learning

      https://www.bilibili.com/video/av9912938/index_8.html#page=1

参考文章链接:https://www.jianshu.com/p/7bae1ead174e

       https://www.ctocio.com/hotnews/15919.html

 

转载于:https://www.cnblogs.com/tanrong/p/8471119.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

值传递与地址传递

值传递与地址传递的区别:两者其实传递的都是一个内存单元的内容。不同的是,值传递传递的内容是一个变量的值,得到这个值后,对这个值的修改不能改变原变量的值;而地址传递传递的是一个变量的地址,得到传递的…

蒙特 卡罗方法matlab,蒙特·卡罗方法中的数学之美,你一定不想错过

原标题:蒙特卡罗方法中的数学之美,你一定不想错过有方教育——我们致力于为中学生提供学界和业界前沿的学术科研教育内容,帮助学生参加海外科研项目,在提升申请竞争力的同时,获得领跑优势。一、概述蒙特卡罗方法(Monte…

【 CDN 最佳实践】CDN 命中率优化思路

CDN 在静态资源的加速场景中是将静态资源缓存在距离客户端较近的CDN 节点上,然后客户端访问该资源即可通过较短的链路直接从缓存中获取资源,而避免再通过较长的链路回源获取静态资源。因此 CDN的缓存命中率的高低直接影响客户体验,而保证较高…

职场新人的入门法则:少想、多做、立即执行!

对于刚进入职场的新人来说,要想在工作中快速获得成长,唯一办法就是:“少想,多做,立即执行!”。 少想不等于盲目,在保证工作思路绝对清晰的同时,执行力越高,执行速度越快…

Python基础-time and datetime

一、在Python中,通常有这几种方式来表示时间: 时间戳格式化的时间字符串元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。1.时间戳(timestamp)的…

实际应用中带头节点的线性链表

/*带头节点的线性链表类型*/ typedef char ElemType//结点类型 typedef struct LNode {char data;struct LNode *next; }*Link,*Position;//链表类型 typedef struct {Link head,tail;int len; }LinkList;/**/ /*一些在其他函数定义中会调用的函数*/ /**//*---compare---比较两…

matlab中欧姆如何表示,在excel中欧姆符号怎么打

在excel中欧姆符号怎么打,相信对于好多熟练用excel的朋友来说,是很简单不过的,但是对于有些初学者来说,就是菜鸟啦,就有点懵懵懂懂的感觉了,毕竟刚接触的东西还没用过嘛。但是,没关系今天笔者就…

原生js系列之DOM工厂模式

写在前面 如今,在项目中使用React、Vue等框架作为技术栈已成为一种常态,在享受带来便利性的同时,也许我们渐渐地遗忘原生js的写法。 现在,是时候回归本源,响应原始的召唤了。本文将一步一步带领大家封装一套属于自己的…

武术与软件设计 - 简单即是最好

偶然间在公车上看见一个讲中国功夫的特辑,说道香港武打片的发展历程,当然就不得不提起李小龙先生,我们知道他截拳道的威力,这时候我记得在看李小龙传奇时他所说的一些话,当他和美国一个高手比武后他输了,最…

matlab的概述,Matlab概述

MATLAB(矩阵实验室)是数字计算,可视化和编程的第四代高级编程语言和交互式环境。MATLAB是由MathWorks开发的。它允许矩阵操纵,绘制功能和数据; 实现算法; 创建用户界面; 与其他语言编写的程序(包括C语言,C,Java和FORTRAN)进行交互…

形参和实参

形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参…

sizeof和strlen的区别

strlen——get the length of a string.size_t strlen(const char *string);Each ofthese functions returns the number of characters instring, notincluding the terminating null character.//函数返回string里的字符数,不包括终止字符\0sizeofThe sizeof keyw…

位置参数及操作符号

特殊字符对应的处理参数: 参数说明$0当前执行的脚本文件名,若全路径执行,则显示脚本路径$n当前执行脚本的第n个参数值,若n>9,则需写成${10}$#当前传参总个数$$脚本运行的当前进程ID号,用例:当一个进程重…

python变量命名可以有特殊符号吗,和孩子一起学习python之变量命名规则

下面是关于变量名(也称为标识符)的一些规则必须以一个字母或一个下划线字符开头。后面可以使用一个字母、数字或下划线字符的序列,长度不限。字母可以是大写或小写,大小写是不同的。也就是说,Ax不同于aX。数字可以是从0到9(包括0到9)的任意数…

C语言中*和

(一) 在定义时,* 是一个标识符,声明该变量是一个指针,比如说int *p; 那p就是一个指向int型的指针; 在调用时, (1)*p是指指针p指向的那个变量,比如说之前有int a5;int …

IT人的好习惯和不良习惯总结

好习惯: 细节一:在电脑旁放上几盆植物,传说仙人掌可以有效地吸收辐射,但是会扎到人,而且有没效果也没科学根据,不推荐;其实只要是绿色植物就可以,植物可以让你多点氧气,保…

【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化

挺好的数位dp……先说一下我个人的做法:经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所有数的所有未包含最后一位的子串的和 s[i]:所有数的所有后缀子串的和 c[i]:所有数的…

zookeeper伪集群(在一台机器上集群)

2019独角兽企业重金招聘Python工程师标准>>> 创建一下的目录结构zookeeper-3.4.10是你下载的zookeeper的解压包 /zookeeper_cluster----/server_one|---/data|myid(文件)|---/datalog|---/zookeeper-3.4.10|---/bin|---/conf|---zoo.cfg|---..... |---/....----/ser…

mongo的php查询,使用PHP进行简单查询的mongo查询速度慢

我有一个非常简单的使用PHP执行的Mongo Query。我相信查询执行得非常快,因为当我在终端上运行它时,它几乎可以立即完成,并且当我解释()时,它表明它正在1-2ms内执行。但是,当我去迭代游标并将内容放入数组时&#xff0c…

顺序存储结构和链式存储结构的优缺点

(一)顺序存储结构和链式存储结构的优缺点比较,以及使用情况。 1 优缺点 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。 优点&…