机器学习中的有监督学习和无监督学习

有监督学习

简单来说,就是人教会计算机学会做一件事。

给算法一个数据集,其中数据集中包含了正确答案,根据这个数据集,可以对额外的数据希望得到一个正确判断(详见下面的例子)

回归问题

例如现在有一个房价数据集,记录了不同面积的房子的实际卖价, 现在用图表表示数据集,横轴表示房子面积,纵轴表示房子的卖价, 图画出来后,可以用一个直线或者曲线去拟合(至于选择直线还是曲线,要看具体的衡量标准),然后现在有一个需求,就是我有一个x平方的房子,想要知道这个房子的卖价, 此时就可以通过在横轴的x位置,找到直线或曲线上对应的纵轴的值y,就可以得到预估卖价。

这个房价问题是个回归问题,回归问题是指:我们想要预测连续的数据输出,即预测的结果是一个连续值,如这里房子卖出的价格就是一个连续值,还有一种类型是分类问题(详见下面),以二分类问题为例,对于某一个样本,它的结果只有两种可能:对或错, 而我们预测某个数据的结果,要么是对要么是错,也就是说结果是离散的 那么对比之下,我们预测某个面积的房子的卖价,卖价可能是一个范围里的任何数字,也就是连续的, 所以回归问题就是某个数据的结果是连续的,不是像分类问题的结果是离散的。

分类问题

例如现在有一组数据集,是不同的肿瘤大小对应它是否是恶性肿瘤(结果只有两种:是或否),现在需要预测肿瘤大小为x的肿瘤,是否是恶性肿瘤,预测的结果为y(是或否),这就是个二分类问题,即答案只有两种。除此之外,还有多分类问题,也就是答案不止两种(但也是有限种类)。

在判断肿瘤是否是恶性的这个问题上,我们判断的标准只有肿瘤大小这一个特征/属性, 而实际中,可能会根据多个特征/属性进行综合判断进而得到结果,上面的房价问题也是如此,我们只根据房屋面积这一个特征进行估价,而实际上肯定还会结合地段、交通等多个特征进行判断。如下面的数据集是根据肿瘤大小和患者年龄两个特征来判断肿瘤的性质。

无监督学习

简单来说,就是让计算机在不用人教的情况下自己学会做一件事

在上述的监督学习中,房价问题中的数据集的每个样本都清楚的知道了它的卖价,在肿瘤问题中的数据集中,每个样本也都被表明为是恶性还是良性。由此可见,在有监督学习中,对于数据集的每个样本,我们都清楚的告知了的正确答案(如肿瘤是恶性还是良性)。

而在无监督学习中,我们给算法一个数据集,不告诉算法这个数据集的每个数据点代表什么,要求算法找出数据的类型结构。

例如,给定一组不同的个体,对于每个个体,检测他们是否拥有某个特定的基因,具体做法就是,运行一个聚类算法,根据个体所拥有的基因把不同的个体归为不同类型的人,这就是无监督学习。因为在给定这些个体时,即给定数据集时,没有事先告知每个个体的类型,只是告诉算法,这里有一堆数据。我不知道这些数据是什么,不知道每个数据的类型,甚至不知道总共有哪些类型,你能自动找出这些数据的结构吗?虽然我事先不知道有哪些类型,但你能按得到的类型把这些个体进行分类吗?因为我们没有把数据集中的正确答案(即每个个体属于什么类型的人)告诉算法,所以这就是无监督学习。

聚类算法

聚类算法是无监督学习算法中的一种,对于给定的数据集,无监督学习算法可能判定数据集包含两个不同的簇,然后把这些数据分为两个不同的簇,这就是聚类算法。

聚类算法的应用举例

  • 市场细分。根据客户信息将客户分为不同的市场群体,进而进行精准销售。我们只拥有全部客户的信息,但是并不知道有哪些市场细分,也不知道某个客户属于哪种市场细分,所以让算法自己从数据中去发现这些
  • 社交网络的分析。可以得知和你联系最频繁的人,判断哪些人可能相互认知等。
  • 新闻分类。将几万条甚至更多的新闻组成不同的新闻专题

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

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

相关文章

数模.matlab画图

一、mesh函数 上图是平常用到的方式 例题: 上图的meshgrid函数相当于上上图的前三个指令(temp,x,y) mash函数: mashc函数: mashz函数: 上图subplot函数的作用是将下标为index的图片放到对应的x&…

[技术杂谈]如何下载vscode历史版本

网站模板: https://code.visualstudio.com/updates/v1_85 如果你想下载1.84系列可以访问https://code.visualstudio.com/updates/v1_84​​​​​​ 然后看到: 选择对应版本下载即可,我是windows x64系统选择x64即可开始下载

C++杂选

#include <iostream> #include <regex>using namespace std;int main() { //它声明了一个 string 类型的变量 input&#xff0c;用于存储输入的字符串。然后使用 getline() 函数从标准输入中读取一行输入&#xff0c;并将其存储在 input 变量中。string input;getl…

Linux openKylin(开放麒麟)系统SSH服务安装配置与公网远程连接

文章目录 前言1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接6. 固定SSH公网地址7. SSH固定地址连接8. 结语 前言 openKylin是中国首个基于Linux 的桌面操作系统开发者平台&#xff0c;通过开放操作系统源代码的方式&#xff…

pwn学习笔记(2)

pwn学习笔记&#xff08;2&#xff09; 1.三种常见的寄存器&#xff1a; ​ ax寄存器&#xff1a;通用寄存器&#xff0c;可用于存放多种数据 ​ bp寄存器&#xff1a;存放的是栈帧的栈底地址 ​ sp寄存器&#xff1a;存放的是栈顶的地址 2.栈帧与栈工作的简介&#xff1a…

【机器学习】基于集成学习的 Amazon 用户评论质量预测

实验六: 基于集成学习的 Amazon 用户评论质量预测 1 案例简介 ​ 随着电商平台的兴起&#xff0c;以及疫情的持续影响&#xff0c;线上购物在我们的日常生活中扮演着越来越重要的角色。在进行线上商品挑选时&#xff0c;评论往往是我们十分关注的一个方面。然而目前电商网站的…

vue前端+nodejs后端通信-简单demo

本文记录vue前端nodejs后端通讯最简单的方法&#xff0c;供广大网友最快速进入全栈开发。 技术架构 前端 vue axios 后端 nodejs express 一、前端部分-搭建VUE 项目 vue create Vnodenpm run serve 启动&#xff1b; 具体操作步骤&#xff0c;请自行百度&#xff0c;这里没…

ArcGIS学习(三)数据可视化

ArcGIS学习(三)数据可视化 1.矢量数据可视化 需要提前说明的是,在ArcGIS中,所有的可视化选项设置都是在“图层属性”对话框里面的“符号系统”中实现的。 对于矢量数据的可视化,主要有四种可视化方式: 按“要素”可视化按“类别”可视化按“数量”可视化按“图表”可视…

25.云原生ArgoCD高级之app of apps模式

文章目录 app of apps 模式介绍app如何管理apphelm方式管理kustomize方式管理 app of apps 模式介绍 通过一个app来管理其他app&#xff0c;当有多个项目要发布创建多个app比较麻烦&#xff0c;此时可以创建一个管理app&#xff0c;管理app创建后会创建其他app。比较适合项目环…

Linux--- vim详解

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 “学如逆水行舟&#xff0…

EF Core 的基本使用及常见的坑

EF Core 的基本使用及常见的坑 1. EF Core 是什么 简单来说&#xff0c;就是实现代码中的类到数据库中表的映射的一种方法。 宝啊&#xff0c;是不是觉得我才开篇就鬼话连篇。 举个例子&#xff0c;假设我们要创建一个名为employees的表&#xff0c;包含id、name、age和salar…

vue实现瀑布流

每个色块宽度一致&#xff0c;高度自适应 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"><meta name"renderer" content"we…

STM32F407移植OpenHarmony笔记7

继上一篇笔记&#xff0c;成功启动了liteos_m内核&#xff0c;可以创建线程了&#xff0c;也能看到shell控制台了。 今天研究文件系统&#xff0c;让控制台相关文件命令如mkdir和ls能工作。 liteos_m内核支持fatfs和littlefs两个文件系统&#xff0c; fatfs适用于SD卡&#xff…

【C++】C++入门 — 类和对象初步介绍

类和对象 1 类的作用域2 类的实例化3 类对象模型4 this指针介绍&#xff1a;特性&#xff1a; Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;下一篇文章见&#xff01;&#xff01;&#xff01; 1 类的作用域 类定义了一个新的作用域&#xff0c;类的…

指针的深入理解(四)

这节主要讨论sizeof和strlen的区别&#xff0c;以及一些理解题。 sizeof 求的是对象的大小&#xff0c;深入理解一点就是&#xff1a;这个对象&#xff0c;他一定有一块对应的内存空间。求的就是这一块内存空间。 strlen 只能用来求字符串&#xff0c; 求取的是字符串的长度。…

QT 范例阅读:系统托盘 The System Tray Icon example

main.cpp QApplication app(argc, argv);//判断系统是否支持 系统托盘功能if (!QSystemTrayIcon::isSystemTrayAvailable()) {QMessageBox::critical(0, QObject::tr("Systray"),QObject::tr("I couldnt detect any system tray ""on this system.&qu…

【C++】开源:Windows图形库EasyX配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Windows图形库EasyX配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#…

Linux进程信号(2)--信号的保存

目录 1.阻塞信号 1.1 信号其他相关常见概念 1.实际执行信号的处理动作称为信号递达(Delivery&#xff09; 2.信号从产生到递达之间的状态,称为信号未决(Pending)。 3.进程可以选择阻塞 (Block )某个信号。 1.2信号在内核中的表示 sigset_t 信号集操作函数 使用sigprocm…

nginx slice模块的使用和源码分析

文章目录 1. 为什么需要ngx_http_slice_module2. 配置指令3. 加载模块4. 源码分析4.1 指令分析4.2 模块初始化4.3 slice模块的上下文4.2 $slice_range字段值获取4.3 http header过滤处理4.4 http body过滤处理5 测试和验证 1. 为什么需要ngx_http_slice_module 顾名思义&#…

Vue中keep-alive的作用、原理及应用场景

在进行Vue开发的过程中&#xff0c;我们经常会遇到需要进行组件缓存的场景&#xff0c;这时候Vue提供的keep-alive组件就派上了用场。keep-alive组件是Vue内置的一个抽象组件&#xff0c;它可以将其包裹的组件进行缓存&#xff0c;提高组件的性能&#xff0c;同时也可以节省服务…