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

news2025/1/13 8:05:42

有监督学习

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

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

回归问题

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

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

分类问题

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

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

无监督学习

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

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

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

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

聚类算法

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

聚类算法的应用举例

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

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

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

相关文章

套路化编程 C# winform 自适应缩放布局

本例程实现基本的自适应缩放布局。 在本例程中你将会学习到如何通过鼠标改变界面比例(SplitContainer)、如何使用流布局(FlowLayoutPanel)排列控件,当然首先需要了解如何设置控件随窗口缩放。 目录 创建项目 ​编辑…

【npm】安装全局包,使用时提示:不是内部或外部命令,也不是可运行的程序或批处理文件

问题 如图,明明安装Vue是全局包,但是使用时却提示: 解决办法 使用以下命令任意一种命令查看全局包的配置路径 npm root -g 然后将此路径(不包括node_modules)添加到环境变量中去,这里注意,原…

101 C++内存高级话题 内存池概念,代码实现和详细分析

零 为什么要用内存池? 从前面的知识我们知道,当new 或者 malloc 的时候,假设您想要malloc 10个字节, char * pchar new char[10]; char *pchar1 malloc(10); 实际上编译器为了 记录和管理这些数据,做了不少事情&…

全自动网页生成系统重构版源码

全自动网页生成系统重构版源码分享,所有模板经过精心审核与修改,完美兼容小屏手机大屏手机,以及各种平板端、电脑端和360浏览器、谷歌浏览器、火狐浏览器等等各大浏览器显示。 为用户使用方便考虑,全自动网页制作系统无需繁琐的注…

陶哲轩如何用 GPT-4 辅助数学研究

关于陶哲轩(Terence Tao)用 GPT-4 进行数学研究的话题始于陶本人在 微软 Unlocked 上发表的 Embracing Change and Resetting Expectations 一文。文中提到: …… I could feed GPT-4 the first few PDF pages of a recent math preprint and…

Vue3动态CSS

Vue3动态CSS 动态css值动态css对象module模式 动态css值 <template><div class"div">动态css</div> </template><script setup langts> import {ref} from vueconst style ref(blue) </script><style scoped> .div{colo…

绕过无限debugger

目标网站 aHR0cHM6Ly93d3cuaWMubmV0LmNuL3NlYXJjaC81NTAuaHRtbA 改为Firefox浏览器进行调试,取消勾选 Pause on debugger statement 参考:https://blog.csdn.net/kdl_csdn/article/details/135137490

MySQL进阶之锁(表级锁,元数据锁,意向锁)

表级锁 介绍 表级锁&#xff0c;每次操作锁住整张表。锁定粒度大&#xff0c;发生锁冲突的概率最高&#xff0c;并发度最低。应用在MyISAM、 InnoDB、BDB等存储引擎中。 对于表级锁&#xff0c;主要分为以下三类&#xff1a; 表锁 元数据锁&#xff08;meta data lock&…

算法笔记刷题日记——3.简单入门模拟 3.1简单模拟

刷题日记 3.1 简单模拟 此类题型根据题目描述进行代码的编写&#xff0c;考察代码能力&#xff0c;刷题记录如下&#xff1a; B1001 B1032 B1016 B1026 B1046 B1008 B1012 B1018 A1042 A1046 A1065 B1010 A1002 A1009 错题记录 B1008 数组元素循环右移问题 一个数组_A_中存有…

C语言小游戏:贪吃蛇(游戏开发的环境和功能介绍)

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ 生命不停&#xff0c;学习不止。铁汁们&#xff0c;我是大伟&#xff0c;欢迎来到大伟的游戏时间&#xff0c…

【论文阅读笔记】InstantID : Zero-shot Identity-Preserving Generation in Seconds

InstantID:秒级零样本身份保持生成 理解摘要Introduction贡献 Related WorkText-to-image Diffusion ModelsSubject-driven Image GenerationID Preserving Image Generation Method实验定性实验消融实验与先前方法的对比富有创意的更多任务新视角合成身份插值多身份区域控制合…

【遥感入门系列】遥感电磁辐射与遥感过程

遥感电磁辐射是比较难理解也是非常重要的内容&#xff0c;对于一般学习遥感专业的人来说&#xff0c;只需要学习个大概&#xff0c;这个大概主要包括你需要理解几个概念以及能从电磁辐射原理上解释一些遥感现象&#xff0c;进而为遥感过程的理解打下一个基础&#xff0c;如果你…

85.如何设计高并发系统(缓存、限流、熔断、降级)

文章目录 一&#xff1a;简介二&#xff1a;什么是高并发1、高并发的定义2、高并发的特点3、高并发场景和应用4、高并发的影响 三&#xff1a;高并发应对策略四&#xff1a;缓存1、浏览器缓存2、客户端缓存3、CDN缓存4、反向代理缓存5、本地缓存6、分布式缓存7、缓存问题8、缓存…

【代码随想录-哈希表】两个数组的交集

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

STM32搭建开发环境

常用开发工具简介 集成开发环境 MDK&#xff1a;全名RealViewMDK&#xff0c;是Keil公司&#xff08;已被ARM收购的&#xff09;一款集成开发环境&#xff0c;界面美观&#xff0c;简单易用&#xff0c;是STM32最常用的集成开发环境EWARM&#xff1a;IAR公司的一款集成开发环…

Go语言Gin框架安全加固:全面解析SQL注入、XSS与CSRF的解决方案

前言 在使用 Gin 框架处理前端请求数据时&#xff0c;必须关注安全性问题&#xff0c;以防范常见的攻击。本文将探讨 Gin 框架中常见的安全问题&#xff0c;并提供相应的处理方法&#xff0c;以确保应用程序的稳健性和安全性。 处理前端请求数据时&#xff0c;确保应用程序的…

MFC结构体写入文件和读取

先定义一个结构体&#xff1b; struct myTxc { char c; CString name; int value; } txc; 读和写的菜单代码&#xff1b; void CjgtrwView::On32771() {// TODO: 在此添加命令处理程序代码CFile file(_T("test1.txt"), CFile::modeCreate | CFile::mod…

【Java 数据结构】String进阶

字符串常量池 1. 创建对象的思考2. 字符串常量池(StringTable)3. 再谈String对象创建 1. 创建对象的思考 下面两种创建String对象的方式相同吗&#xff1f; public static void main(String[] args) {String s1 "hello";String s2 "hello";String s3 …

Coil:Android上基于Kotlin协程的超级图片加载库

Coil&#xff1a;Android上基于Kotlin协程的超级图片加载库 1. coil简介 在当今移动应用程序的世界中&#xff0c;图片加载是一个不可或缺的功能。为了让应用程序能够高效地加载和显示图片&#xff0c;开发人员需要依赖于强大的图片加载库。而今天&#xff0c;我将向大家介绍…

SolidWorks 2023 使用操作流程

1. 把头 1.1. 新建零件 1.2. 新建草图 1.3. 拉升凸台 1.4. 等距实体 切换到锤头&#xff0c;新建草图&#xff0c;等距实体1mm 1.5. 拉升凸台 将上一个步骤的草图&#xff0c;进行特征拉升 1.6. 镜像处理 1.7. 圆角处理 1.8. 绘制凹槽 在锤子的侧面绘制草图 1.9. 挖出把手孔…