监督学习与无监督学习

监督学习

用一个例子介绍什么是监督学习把正式的定义放在后面介绍。

假如说你想预测房价。前阵子,一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。你把这些数据画出来,看起来是这个样子:

横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。

那么关于这个问题,机器学习算法将会怎么帮助你呢?

我们应用学习算法,可以在这组数据中拟合一条直线,根据这条线我们可以推测出,这套房子可能卖,也可以用二次方程去拟合可能效果会更好。根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。两个方案中有一个能让你朋友的房子出售得更合理。以上就是监督学习的例子。

监督学习指的就是给学习算法一个数据集。这个数据集由“正确答案”组成。在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题,回归这个词的意思是,我们在试着推测出这一系列连续值属性。。我们试着推测出一个连续值的结果,即房子的价格。

一般房子的价格会记到美分,所以房价实际上是一系列离散的值,但是我们通常又把房价看成实数,看成是标量,所以又把它看成一个连续的数值。

再举另外一个监督学习的例子。假设说你想通过查看病历来推测乳腺癌良性与否,假如有人检测出乳腺肿瘤,恶性肿瘤有害并且十分危险,而良性的肿瘤危害就没那么大,所以人们显然会很在意这个问题。

让我们来看一组数据:这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0表示是或者不是恶性肿瘤。我们之前见过的肿瘤,如果是恶性则记为1,不是恶性,或者说良性记为0。

我有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。假设说A同学的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率,这是一个分类问题。

分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出0、1、2、3。0 代表良性,1 表示第1类乳腺癌,2表示第2类癌症,3表示第3类,但这也是分类问题。

因为这几个离散的输出分别对应良性,第一类第二类或者第三类癌症,在分类问题中我们可以用另一种方式绘制这些数据点。

现在我用不同的符号来表示这些数据。既然我们把肿瘤的尺寸看做区分恶性或良性的特征,那么我可以这么画,我用不同的符号来表示良性和恶性肿瘤。或者说是负样本和正样本现在我们不全部画X,良性的肿瘤改成用 O 表示,恶性的继续用 X 表示。来预测肿瘤的恶性与否。

在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。在其他机器学习问题中,我们通常有更多的特征,我朋友研究这个问题时,通常采用这些特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。这就是我们即将学到最有趣的学习算法之一。

那种算法不仅能处理2种3种或5种特征,即使有无限多种特征都可以处理。

上图中,我列举了总共5种不同的特征,坐标轴上的两种和右边的3种,但是在一些学习问题中,你希望不只用3种或5种特征。相反,你想用无限多种特征,好让你的算法可以利用大量的特征,或者说线索来做推测。那你怎么处理无限多个特征,甚至怎么存储这些特征都存在问题,你电脑的内存肯定不够用。我们以后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。想象一下,我没有写下这两种和右边的三种特征,而是在一个无限长的列表里面,一直写一直写不停的写,写下无限多个特征,事实上,我们能用算法来处理它们。

现在来回顾一下,这节课我们介绍了监督学习。其基本思想是,我们数据集中的每个样本都有相应的“正确答案”。再根据这些样本作出预测,就像房子和肿瘤的例子中做的那样。我们还介绍了回归问题,即通过回归来推出一个连续的输出,之后我们介绍了分类问题,其目标是推出一组离散的结果。

现在来个小测验:假设你经营着一家公司,你想开发学习算法来处理这两个问题:

  1. 你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
  2. 你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?

那这两个问题,它们属于分类问题、还是回归问题?

问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。

问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。

以上就是监督学习的内容。


 无监督学习

我们将介绍第二种主要的机器学习问题。叫做无监督学习。

回想监督学习的数据集,如图表所示,这个数据集中每条数据都已经标明是阴性或阳性,即是良性或恶性肿瘤。所以,对于监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案,是良性或恶性了。

在无监督学习中,我们已知的数据看上去有点不一样,即无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。无监督学习算法可能会把这些数据分成两个不同的簇,因此所以叫做聚类算法。

聚类应用的一个例子就是在新闻内容的自动聚类分割上,通过后=收集非常多的网络的新闻内容,再将这些新闻分组,组成有关联的新闻。因此新闻事件全是同一主题的,所以显示到一起。

事实证明,聚类算法和无监督学习算法同样还用在很多其它的问题上。

其中就有基因学的理解应用。一个DNA微观数据的例子。基本思想是输入一组不同个体,对其中的每个个体,你要分析出它们是否有一个特定的基因。技术上,你要分析多少特定基因已经表达。所以这些颜色,红,绿,灰等等颜色,这些颜色展示了相应的程度,即不同的个体是否有着一个特定的基因。你能做的就是运行一个聚类算法,把个体聚类到不同的类或不同类型的组(人)……

所以这个就是无监督学习,因为我们没有提前告知算法一些信息,比如,这是第一类的人,那些是第二类的人,还有第三类,等等。我们只是说,是的,这是有一堆数据。我不知道数据里面有什么。我不知道谁是什么类型。我甚至不知道人们有哪些不同的类型,这些类型又是什么。但你能自动地找到数据中的结构吗?就是说你要自动地聚类那些个体到各个类,我没法提前知道哪些是哪些。因为我们没有给算法正确答案来回应数据集中的数据,所以这就是无监督学习。

许多公司有大型的数据库,存储消费者信息,我们拥有所有的顾客数据,但我们没有提前知道是什么的细分市场,以及分别有哪些我们数据集中的顾客。我们不知道谁是在一号细分市场,谁在二号市场。那我们就必须让算法从数据中发现这一切。最后,无监督学习也可用于天文数据分析,这些聚类算法给出了令人惊讶、有趣、有用的理论,解释了星系是如何诞生的。这些都是聚类的例子,聚类只是无监督学习中的一种。

我们介绍了无监督学习,它是学习策略,交给算法大量的数据,并让算法为我们从数据中找出某种结构。

垃圾邮件问题:如果你有标记好的数据,区别好是垃圾还是非垃圾邮件,我们把这个当作监督学习问题

新闻事件分类:谷歌新闻的例子可以用一个聚类算法来聚类这些文章到一起,所以是无监督学习

细分市场:当作无监督学习问题,因为我只是拿到算法数据,再让算法去自动地发现细分市场。

糖尿病:这个其实就像是乳腺癌,只是替换好、坏肿瘤,良性、恶性肿瘤,我们改用糖尿病或没病,所以把这个当作监督学习,就像我们在乳腺癌数据中做的一样。

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

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

相关文章

【CodeVS】1023 GPA计算

1023 GPA计算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 小松终于步入了大学的殿堂,带着兴奋和憧憬,他参加了信息科学技术学院的新生大会。会上,院长梅教授给大家介绍了在大学中的成绩计算方式&…

单变量与多变量线性回归(Linear Regression with One Variable)

2.1 线性回归算法模型表示 让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说&…

查看linux IO地址范围

端口统一编址原理是把IO控制器中的端口地址归入存储器寻址空间范围内,因此这种编址方式也成为存储器映像编址。CPU访问一个端口的操作与访问内存的操作一样,也使用访问内存的指令。 在linux下可以查看设置的IO地址范围

命令行import torch正常,但pycharm中显示“No module named torch”解决方法

pytorch第一步配置环境测试运行就遇到了如题目所述问题,问题如图: 步骤一 首先检查环境导入是否有问题,工具栏file–settings–project–project interpreter,在这里添加配置好的conda环境,注意添加时要选中对应的con…

机械厂html5手机模板,营销型机械消费设备企业通用织梦模板(带html5手机端) v1.0...

营销型机械消费设备企业通用织梦模板简介营销型机械消费设备企业通用织梦模板(带html5手机端)v1.0是一个自适应手机端和PC端的最新版织梦V5.7为内核的网站模板,软件兼容主流浏览器,模板包含安装说明,并包含测试数据。dedecms最新版内核开发&a…

Tensorboard --logdir=logs 无法显示图像的处理办法

Tensorboard --logdirlogs 无法显示图像的处理办法 问题描述: 解决方案:【要和工程目录对应!写全日志地址】 tensorboard --logdir"torch learning\logs" #注意要是双引号,而且路径不能单单是logs,还要包括…

C# 多种方式发送邮件(附帮助类)

因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用~ QQ邮箱发送邮件 #region 发送邮箱try{MailMessage mail new MailMessage();MailAddress from new MailAddress("发件…

安霸SPI 剖析

最近在搞单片机和A5S的SPI通信 1、A5S是跑的是ITRON的系统、有自己相关的SPI API函数2、单片机这边也是可以熟悉了,发送,接收什么的,我都可以自模拟出来3、但是问题是,A5S上面的API函数的工作是如何的,我一直没怎么弄清…

linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植

LED 驱动程序移植 编者;对于led的驱动程序,很多文章都有详细的介绍,我的博客里面有一篇专门详解这个的。需要看的,可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下,操作一个I/O口,可以说实在…

单变量批量梯度下降算法与单变量随机梯度下降算法

2.3 代价函数的直观理解I 让我们通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。 2.4 代价函数的直观理解II 代价函数的样子类似于等高线图,则可以看出在三维空间中存在一个J(θ0,θ1)使得最小的点。 通过这些图形,我希望你…

一台计算机连入计算机网络后通过该计算机,一台计算机连入计算机网络后,该计算机( )。...

摘要:计算机连当碰撞已不可避免时,船舶应根据良好船艺的要求采取最有效的行动以减小碰撞的损失,下列说法正确的是()。①应避免两船首相撞;②应避免一船船首撞入他船机舱附近或船中;③应尽量使两船相撞前相对速度达到最大;④应尽量使两船相撞前相对速度达到最小。算机…

反向传播+代码实现

ywx的反向传播代码实现 import torch x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]#w是Tensor(张量类型),Tensor中包含data和grad,data和grad也是Tensor。 # grad初始为None,调用l.backward()方法后w.grad为Tensor, # 故更…

计算机网络阅读报告,计算机网络实验二报告

计算机网络实验二报告 (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分计算机网络实验报告课程_ 计算机网络 _ 实验名称 TCP/IP协议分析与验证 姓 名 实 验 日 期&#xff…

使用Pytorch处理多维特征的输入

下图这个预测一个人在一年之后得糖尿病的概率的例子,这个时候我们的输入将会有很多的指标。你可以把它看成是我们体检的各种值。最后一排的外代表了他是否会得糖尿病。 那么多维的特征输入应该怎么办呢?我们就需要把每一个特征x付以相应的权重。在进行逻…

dubbo学习 三 dubbox概述

当当网根据自身的需求,对dubbo进行了扩展就叫成了dubbox。具体的使用方法可以参照官网各种例子:http://dangdangdotcom.github.io/dubbox/ 支持rest风格远程调用 之前了解过restful服务具体是什么,resteasy也了解过,所以看到就可以…

使用Pytorch完成多分类问题

多分类问题在最后的输出层采用的Softmax Layer,其具有两个特点:1.每个输出的值都是在(0,1);2.所有值加起来和为1. 假设是最后线性层的输出,则对应的Softmax function为: 输出经过sigmoid运算即可是西安输出的分类概率…

PyTorch的nn.Linear()详解

1. nn.Linear() nn.Linear():用于设置网络中的全连接层,需要注意的是全连接层的输入与输出都是二维张量 一般形状为[batch_size, size],不同于卷积层要求输入输出是四维张量。其用法与形参说明如下: in_features指的是输入的二维…

罗彻斯特大学计算机科学系专业排名,罗切斯特大学计算机科学专业

罗切斯特大学(University of Rochester,U of R)建立于1850年,是一所美国著名的私立研究型大学,“新常春藤”联盟之一,北美大学协会(AAU)成员、世界大学联盟成员。360老师介绍,学校的7位学者是美国国家科学院院士&#…

系统权限管理设计 (转)

权限设计(初稿) 1. 前言: 权限管理往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。针对不同的应用,需要根据项目的实…

卷积神经网络(基础篇)

说明 0、前一部分叫做Feature Extraction,后一部分叫做classification 1、每一个卷积核它的通道数量要求和输入通道是一样的。这种卷积核的总数有多少个和你输出通道的数量是一样的。 2、卷积(convolution)后,C(Channels)变,W(width)和H(Heig…