首页 > 其他分享 >有监督学习&无监督学习

有监督学习&无监督学习

时间:2024-10-01 13:19:44浏览次数:12  
标签:分类 算法 学习 监督 聚类 数据

有监督学习&无监督学习


有监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)是机器学习中的两种主要方法,它们在目标、数据使用和应用场景上有显著的区别:

  1. 目标不同
    • 有监督学习:目的是通过训练数据集(包含输入特征和对应的标签)来学习一个模型,以便对新的、未见过的数据进行预测或分类。它的目标是找到输入数据和输出标签之间的关系。
    • 无监督学习:目的是在没有标签的数据中发现模式、结构或分布。它试图理解数据的本质,而不是预测或分类。
  2. 数据使用
    • 有监督学习:需要标注过的训练数据,即每个训练样本都有一个与之对应的标签。
    • 无监督学习:使用未标注的数据,算法需要自己找出数据中的结构。
  3. 应用场景
    • 有监督学习:常用于分类(如垃圾邮件识别)、回归(如房价预测)等任务。
    • 无监督学习:常用于聚类(如市场细分)、关联规则学习(如购物篮分析)、异常检测(如信用卡欺诈检测)等任务。
  4. 算法示例
    • 有监督学习:决策树、支持向量机(SVM)、神经网络、逻辑回归等。
    • 无监督学习:K-均值聚类、主成分分析(PCA)、自编码器、生成对抗网络(GANs)等。
  5. 评估方式
    • 有监督学习:通常使用准确率、召回率、F1分数、均方误差(MSE)等指标来评估模型性能。
    • 无监督学习:评估较为复杂,可能使用内部评价指标(如簇内距离)或外部评价指标(如果已知真实标签)。
  6. 挑战
    • 有监督学习:需要大量的标注数据,标注成本高,且对数据的噪声和不完整性敏感。
    • 无监督学习:由于缺乏标签,很难验证模型是否找到了正确的数据结构,且结果的解释性不如有监督学习。
  7. 半监督学习:介于有监督学习和无监督学习之间,使用少量标注数据和大量未标注数据进行训练。
  8. 强化学习:虽然不属于有监督或无监督学习,但它是一种通过与环境的交互来学习如何做出决策的方法。

总的来说,有监督学习关注于预测和决策,而无监督学习关注于探索和发现数据的内在结构。

有监督学习


一、监督学习的基本概念

1.1 概念定义

监督学习是通过已知的输入和输出数据样本,来学习一个确定性函数或概率分布模型的方法。在监督学习中,输入和输出变量都是已知的,同时,学习器的输出也必须与人工给定的真实结果一致。监督学习通常可分为两类:回归问题和分类问题。回归问题是指对连续值的预测问题,比如预测房价、股票价格等;分类问题是指对离散值的预测问题,比如判断一封邮件是否为垃圾邮件、预测肿瘤是否为恶性等。

1.2 基本步骤

监督学习的基本步骤可以概括为以下三步:

(1)数据准备:需要将已知数据分为训练集和测试集,通常采用交叉验证方法来划分数据集。

(2)模型选择:需要选择适合问题的模型,比如线性回归模型、决策树模型、支持向量机模型等。

(3)模型训练和预测:使用训练数据对模型进行训练,然后用测试数据集对模型进行预测,并通过评价指标对模型进行评价。

二、常见的监督学习算法

2.1 线性回归

线性回归是一种基本的监督学习算法,适用于解决大部分的回归问题。线性回归假设目标函数是一个线性组合,并利用样本的输入和输出将其拟合。线性回归模型的形式如下:
y = w 0 + ∑ i = 1 n w i x i y=w_0+\sum_{i=1}^nw_ix_i y=w0​+i=1∑n​wi​xi​
其中,y 表示预测值,x_i 表示输入特征,w_i 表示特征权重,w_0 表示截距。线性回归模型的训练过程就是求解权重向量 w 使得预测值与真实值之间的平均方差最小。

2.2 决策树

决策树是一种基于分支结构的非参数监督学习算法,用于解决分类和回归问题。决策树将样本分成多个子集,每个子集对应于一个叶子节点,其内部节点表示特征选择规则。决策树算法的核心是构建决策树,根据信息增益或基尼指数等指标,选择最优的特征进行分割。常用的决策树算法包括 ID3、C4.5、CART 等。

2.3 支持向量机

支持向量机是一种二分类和回归问题的监督学习算法,主要用于分类问题。支持向量机的主要思想是在特征空间中寻找一个最优划分超平面,使得不同类别的数据点距离该超平面最近时距离最大,可以通过核函数的变换实现非线性分类问题。支持向量机是一种高效的分类算法,被广泛应用于计算机视觉、文本分类等领域。

2.4 朴素贝叶斯

朴素贝叶斯是一种基于贝叶斯定理的分类算法,处理分类问题时,它假设特征之间条件独立,即其后验概率可以通过先验概率和条件概率的乘积求得。朴素贝叶斯分类器拥有简单和快速的分类方法,常被用于垃圾邮件分类、文本分类、情感分析等任务。

三、监督学习的评价指标

3.1 准确率和召回率

准确率和召回率是用于评估分类模型性能的重要指标。准确率是指分类器正确分类所有测试集样本的百分比,其计算公式为:
A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy=\frac{TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN​
其中,TP 表示真阳性(true positive)、TN 表示真阴性(true negative)、FP 表示假阳性(false positive)、FN 表示假阴性(false negative)。

召回率是指分类器能够正确识别出正样本的能力,其计算公式为:
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP​

3.2 F1 值

F1 值是准确率和召回率的综合度量,可以用来对各种分类算法的性能进行比较。F1 值是准确率和召回率的加权调和平均值,其计算公式为:
F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR​
其中,P 表示准确率,R 表示召回率。

3.3 AUC

AUC(Area Under Curve)被广泛使用于评估分类模型性能。AUC 总结了分类器所有可能的预测排序,是 ROC 曲线下的面积。AUC 值越接近于 1,说明分类器具有更好的性能,越接近于 0.5,则说明分类器的性能较差。

标签:分类,算法,学习,监督,聚类,数据
From: https://blog.csdn.net/m0_47498690/article/details/142666003

相关文章

  • Elasticsearch学习笔记(3)
    RestAPIElasticsearch(ES)官方提供了多种语言的客户端库,用于与Elasticsearch进行交互。这些客户端库的主要功能是帮助开发者更方便地构建和发送DSL(DomainSpecificLanguage)查询语句,并通过HTTP请求与Elasticsearch集群进行通信。官方文档地址:https://www.elastic.co/guide/en/......
  • Python电能质量扰动信号分类(六)基于扰动信号特征提取的超强机器学习识别模型
    创新度高!!!需要发论文的同学即买即用 往期精彩内容:Python-电能质量扰动信号数据介绍与分类-CSDN博客Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客Python电能质量扰动信号分类(......
  • MySql学习笔记:什么是数据库?
    数据库的概念:         数据库(Database),简而言之可视为数字化的文件柜,是一个长期储存在计算机内有组织的、统一管理的数据集合,用于存储和管理大量相关信息。        数据库是一个按数据的结构来存储和管理数据的计算机系统,也就是说,数据库通常有两方面含义:......
  • 基于深度学习的跌倒检测系统:YOLOv5/v6/v7/v8/v10模型实现与UI界面集成、数据集
    1.引言跌倒检测是一个重要的研究领域,尤其在老年人和病人监护中,及时检测并响应跌倒事件可以大大减少伤害和死亡的风险。本博客将介绍如何构建一个基于深度学习的跌倒检测系统,使用YOLOv5进行目标检测,并设计一个用户界面(UI)来实时监控和反馈。本文将详细描述系统的各个组成部分......
  • 【Linux学习】基本指令其二
    前言【Linux学习】基本指令其一第一篇中介绍Linux中最基本的命令,现在继续说明后续指令。一、man指令Linux的命令有很多参数,可以通过查看联机手册获取帮助。man命令用于查看Linux系统中的手册页,提供了关于各种命令和程序的详细信息。基本语法如下:man[选项]命令......
  • Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作
    Linux学习笔记(二):深入理解用户管理、运行级别与命令行操作前置学习内容:Linux学习(一)1.用户管理1.1用户密码管理创建用户密码使用passwd命令可以为指定用户设置密码:sudopasswd`userName`密码找回当忘记密码时,可以采取以下步骤找回:在登录界面按e键进入编......
  • 深度学习应用
    深度学习作为人工智能领域的重要分支,已经在多个行业中展现出巨大的应用潜力和价值。以下是深度学习的一些主要应用领域及其具体实例:图像识别:深度学习在图像识别方面取得了重大突破,包括图像分类、目标检测和语义分割等任务。这些技术被广泛应用于安全监控、自动驾驶以及医疗影......
  • 第24天sql注入(小迪安全学习)
    前置知识(搭建环境失败,搞不了实验了,学下理论知识吧)sql注入脚本代码在实现代码与数据库进行数据通讯时(从数据库中取出相关数据),将定义的SQL语句进行执行查询数据时其中的SQL语句能通过参数传递自定义值来实现控制sQL语句,从而执行恶意的SQL语句可以实现查询其他数据(数据库中的敏......
  • opencascade AIS_WalkDelta、AIS_ViewInputBuffer源码学习工作
    opencascadeAIS_WalkDelta前言运行方法1.空构造函数。AIS_WalkDelta():myIsDefined(false),myIsJumping(false),myIsCrouching(false),myIsRunning(false){}2.返回平移组件。constAIS_WalkPart&operator[](AIS_WalkTranslationthePart);3.返回平移组件。A......
  • 深度学习(输出模型中间特征)
      深度学习骨干网络一般会包含很多层,这里写了一个脚本,可以保存骨干网络的所有特征图。代码主要用了get_graph_node_names和create_featrue_extractor这两个函数。get_graph_node_names是得到所有特征节点名字。create_featrue_extractor是提取对应节点输出的特征tensor。......