机器学习---概述(一)

文章目录

  • 1.人工智能、机器学习、深度学习
  • 2.机器学习的工作流程
      • 2.1 获取数据集
      • 2.2 数据基本处理
      • 2.3 特征工程
          • 2.3.1 特征提取
          • 2.3.2 特征预处理
          • 2.3.3 特征降维
      • 2.4 机器学习
      • 2.5 模型评估
  • 3.机器学习的算法分类
      • 3.1 监督学习
          • 3.1.1 回归问题
          • 3.1.2 分类问题
      • 3.2 无监督学习
      • 3.3 半监督学习
      • 3.4 强化学习
      • 3.5 总结

1.人工智能、机器学习、深度学习

在这里插入图片描述
从图中可以看到,人工智能、机器学习、深度学习之间的关系为:机器学习是人工智能的一个实现途径,而深度学习是机器学习的一个方法演变而来的

2.机器学习的工作流程

可以将机器学习的工作流程模拟成人思考解决问题的过程,人在遇到一个新的问题的时候,通常会根据以往对解决此类问题的经验来获取到一个规律,根据此规律来预测解决这种新的问题会成功还是失败。
而机器学习的工作流程与之较为相似,当遇到一批新的数据的时候,计算机会自动分析数据来获取模型,根据模型来预测或者评估数据。
在这里插入图片描述
机器学习的工作流程可以分为以下步骤:
1.获取数据
2.数据基本处理
3.特征工程
4.机器学习(模型训练)
5.模型评估

在这里插入图片描述
如果结果达到要求,上线服务
没有达到要求,就重复上述步骤

2.1 获取数据集

在这里插入图片描述
在数据集中,一行数据我们称为一个样本,一列数据我们成为一个特征
,有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集的目标值)

数据类型构成
1.特征值+目标值(目标值是连续的或者离散的)
2.只有特征值,没有目标值

数据分割:
机器学习一般会将数据分割为两个部分:
训练数据:用于训练和构建模型
测试数据:在模型检验的时候使用,用于评估模型是否有效
这两部分的划分比例一般为:
训练集70%-80% 测试集20%-30%

2.2 数据基本处理

即对数据进行缺失值、去除异常值等处理
缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的

2.3 特征工程

特征工程指的是使用专业知识和技巧来处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
特征工程包含:特征提取、特征预处理、特征降维三部分

2.3.1 特征提取

即将任意数据转换为可用于机器学习的数字特征
在这里插入图片描述

2.3.2 特征预处理

通过一些转换函数将特征数据转换为更加适合机器学习算法的特征数据的过程。
在这里插入图片描述

2.3.3 特征降维

指的是在某些条件下,降低随机变量的特征的个数,得到一组“不相关”的主变量的个数。
在这里插入图片描述

2.4 机器学习

即选择适合的算法对模型进行训练

2.5 模型评估

对训练好的模型进行评估

3.机器学习的算法分类

在机器学习中,根据数据集的组成不同,可以将机器学习算法分为:
监督学习
无监督学习
半监督学习
强化学习

3.1 监督学习

在监督学习中,计算机通过示例学习。它从过去的数据中学习,并将学习的结果应用到当前的数据中,以预测未来的事件。在这种情况下,输入和期望的输出数据都有助于预测未来事件。
监督学习的定义为:
根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。

也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。监督学习可以分为回归和分类两种

3.1.1 回归问题

例如:预测房价,根据样本集拟合出一条连续曲线
在这里插入图片描述
回归通俗一点就是,对已经存在的点(训练数据)进行分析,拟合出适当的函数模型y=f(x),这里y就是数据的标签,而对于一个新的自变量x,通过这个函数模型得到标签y。

3.1.2 分类问题

例如:根据肿瘤特征判断良性还是恶性,得到的是结果是“良性”或者“恶性”,是离散的。
在这里插入图片描述
所以简单来说分类就是,要通过分析输入的特征向量,对于一个新的向量得到其标签。
和回归最大的区别在于,分类是针对离散型的,输出的结果是有限的。
监督学习的应用:
医疗诊断和预测:监督学习在医疗领域中有着广泛的应用。例如,在医学影像诊断中,通过标记了疾病或异常的图像数据,可以训练模型来帮助医生自动识别和诊断病变。此外,监督学习还可以用于疾病预测,通过医学数据的训练,模型可以预测患者是否有可能患上某种疾病,帮助医生进行早期干预和预防。

3.2 无监督学习

不知道数据集中数据、特征之间的关系,而是要根据聚类或一定的模型得到数据之间的关系。可以这么说,比起监督学习,无监督学习更像是自学,让机器学会自己做事情,是没有标签(label)的。

输入数据是由输入特征值组成,没有目标值
输入数据没有被标记,也没有确定的结果。样本数据类别未知;
需要根据样本间的相似性对样本集进行类别划分。

在这里插入图片描述
无监督学习的应用:
Google新闻按照内容结构的不同分成财经,娱乐,体育等不同的标签,这就是无监督学习中的聚类。

在这里插入图片描述

3.3 半监督学习

半监督学习是一种特殊的机器学习方法,它试图充分利用有标签数据和无标签数据的优势。 在很多情况下,获取有标签数据可能非常昂贵或耗时,但我们可能能够获得大量的无标签数据。半监督学习的目标就是通过这些有限的有标签数据和大量的无标签数据来提高机器学习模型的性能。

这是一个生活中的类比:假设你正在学习认识动物,但你只有少数几本书上有动物的名字和图片。现在,你朋友给了你一大堆没有标签的动物图片。半监督学习的任务就是,通过这些有标签的书籍和无标签的图片,让你更好地辨认未见过的新动物。
在这里插入图片描述
在这里插入图片描述
**半监督学习的主要优点是能够在有限的有标签数据上构建更好的模型,从而节省数据标注的成本。**然而,它也可能面临一些挑战,例如无标签数据质量的问题,以及在某些情况下,过度依赖伪标签可能导致错误的预测。因此,在应用半监督学习时,需要谨慎选择合适的方法,并根据具体情况进行调整。

3.4 强化学习

强化学习就像是在教一只聪明的小宠物怎么玩游戏一样。你是这个小宠物的导师,它试图在一个陌生的游戏世界中获得最高的分数。但是,开始时,它对游戏一无所知,所以它必须通过尝试和错误来学习。

在强化学习中,有三个主要的角色:

智能体(Agent):就是我们的小宠物,它在游戏中行动,并试图通过选择不同的动作来达到最好的结果。
环境(Environment):就是游戏的世界,它会根据智能体的动作给予不同的反馈,比如给予奖励(reward)或者惩罚(penalty)。智能体的目标是通过与环境的交互来最大化总的奖励。
动作(Action):就是智能体在游戏中可以选择的不同的举动或策略。

整个过程就像是一个训练过程:智能体在游戏中进行动作,然后根据环境给予的奖励或惩罚来调整自己的策略。通过反复的试错和学习,它会逐渐学会什么样的动作可以得到更多的奖励,从而在游戏中表现得越来越好。

在这里插入图片描述

强化学习的一个典型例子就是训练一个机器人玩赛车游戏。机器人开始时可能会碰壁、撞车,但随着时间的推移,它会学会如何转弯、避开障碍物,并逐渐变得越来越擅长在赛道上驾驶。这种学习过程类似于我们学习新技能或游戏一样,通过不断尝试,我们变得越来越熟练。

总结一下,强化学习是一种让智能体通过与环境交互,并根据奖励和惩罚来学习优化策略的机器学习方法。类似于训练一只聪明的小宠物在陌生的游戏世界中变得越来越好。强化学习的目标就是获得最多的累计奖励。
在这里插入图片描述

3.5 总结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Scikit Learn识别手写数字 -- 机器学习项目基础篇(6)

Scikit learn是机器学习社区中使用最广泛的机器学习库之一,其背后的原因是代码的易用性和机器学习开发人员构建机器学习模型所需的几乎所有功能的可用性。在本文中,我们将学习如何使用sklearn在手写数字数据集上训练MLP模型。 其优势是: 它提…

Springboot 多数据源 dynamic-datasource动态添加移除数据源

0.前言 上一篇文章我们讲了如何通过多数据源组件,在Spring boot Druid 连接池项目中配置多数据源,并且通过DS注解的方式切换数据源,《Spring Boot 配置多数据源【最简单的方式】》。但是在多租户的业务场景中,我们通常需要手动的…

【方法】Excel表格如何拆分数据?

当需要把多个数据逐个填到Excel单元格的时候,我们可以利用Excel的数据拆分功能,可以节省不少时间。 小编以下面的数据为例,看看如何进行数据拆分。 首先,要选择数字所在的单元格,然后依次点击菜单栏中的“数据”>…

FFmpeg解码详细流程

介绍 FFmpeg的 libavcodec 模块完成音视频多媒体的编解码模块。老版本的 FFmpeg 将avcodec_decode_video2()作为视频的解码函数 API,将avcodec_decode_audio4()作为音频的解码函数 API;从 3.4版本开始已经将二者标记为废弃过时 API(attribut…

Dockerfile构建lamp镜像

1、构建目录 [rootdocker ~]# mkdir compose_lamp [rootdocker ~]# cd compose_lamp/ 2、编写Docekerfile [rootdocker compose_lamp]# vim Dockerfile #基础镜像 FROM centos:7#维护该镜像的用户信息 MAINTAINER Crushlinux <crushlinux163.com>#安装httpd RUN yum -…

反转链表的两种方法

反转链表的两种方法 题目介绍 题目链接 206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 效果图如下所示 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]解法一&#xff1a;迭代方法 解题思路&#xf…

Chapter 10: Dictionaries | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介DictionariesDictionariesDictionary as a set of countersDictionaries and filesLooping and dictionariesAdvanced text parsingDebuggingGlossary Python for Everybody Exploring Data Using Python 3 Dr. Charles R. Severance 课程…

Spring:JDBCTemplate

JDBCTemplate 概述 概述 JDBC&#xff08;Java DataBase Connectivity&#xff0c;Java 数据库连接&#xff09;&#xff0c; 一 种用于执行 SQL 语句的 Java API&#xff08;Application Programming Interface &#xff0c; 应用程序设计接口 &#xff09;&#xff0c;可以为…

计算机网络(2) --- 网络套接字UDP

计算机网络&#xff08;1&#xff09; --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…

小白到运维工程师自学之路 第六十六集 (docker 网络模型)

一、概述 Docker网络模型是指Docker容器在网络中的通信方式和组织结构。Docker容器通过网络连接&#xff0c;使得容器之间可以相互通信&#xff0c;并与主机和外部网络进行交互。 在Docker中&#xff0c;有几种不同的网络模型可供选择&#xff1a; 1、主机模式&#xff08;H…

网络安全(黑客)自学建议一一附学习路线

温馨提示&#xff1a;为了避免误入歧途&#xff0c;自学请优先看《网络安全法》。 下面是一些学习建议&#xff1a; 1、多请教有经验的人 切忌钻牛角尖&#xff0c;特别是刚入门的什么都不了解的情况下&#xff0c;可能你花好几天研究的一个东西&#xff0c;人10分钟就能搞定…

DBeaver连MySQL库报错public key retrieval is not allowed

连接报错: public key retrieval is not allowed解决办法&#xff1a; 右击你连接的库进行编辑连接&#xff08;或者直接按F4打开编辑&#xff09; 然后点击驱动属性里面进行设置 找到allowPublicKeyRetrieval属性&#xff0c;把值由false改为true 注&#xff1a;连接成功后如…

部署SpringBoot项目在服务器上,并通过swagger登录

1.项目编译打包 2.上传jar包到服务器并启动 xftp将打包好后的jar包传到虚拟机指定路径 java -jar执行该jar包 3.通过swagger登录 输入后点击下面的执行按钮 会得到一个tocken 4.将tocken放到postman的Headers中 5.修改url 例如我本地测试是http://localhost:8080/接口名&am…

【C++】继承的基本特性(定义,赋值转换,友元,静态成员,虚拟继承,默认成员函数,作用域)

文章目录 一、继承的定义1.定义格式2.继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承的作用域1. 在继承体系中基类和派生类都有独立的作用域。2.子类和父类中有同名成员3.成员函数的隐藏4.注意在实际中在继承体系里面最好不要定义同名的成员。 四、派生类的…

【WebRTC---序篇】(七)RTC多人连麦方案

服务端可以选择mediasoup&#xff0c;作为SFU服务器&#xff0c;只负责转发数据 下图举例三个Client (browser或者客户端)同时加入一个房间&#xff0c;每个app同时发布一路视频和一路音频&#xff0c;并且接受来自其他app的音视频流&#xff0c;mediasoup内部的结构如下&…

【诺依管理系统-前端】对话框

1.指定 v-model"openAllScene" 2.按钮代码 3.调用方法handleAddAllScene里面&#xff0c;只是openAllScene的值为true&#xff0c;调用显示对话框

unity tolua热更新框架教程(1)

git GitHub - topameng/tolua: The fastest unity lua binding solution 拉取到本地 使用unity打开&#xff0c;此处使用环境 打开前几个弹窗(管线和api升级)都点确定 修改项目设置 切换到安卓平台尝试打包编译 设置包名 查看报错 打开 屏蔽接口导出 重新生成 编译通过 …

Git常见问题

git clone 提示OpenSSL SSL_read git clone 时提示Connection was reset, errno 10054类错误 fatal: unable to acce ss https://github.com/fex-team/ueditor.git/: OpenSSL SSL_read: Connection was reset, errno 10054 备注&#xff1a;以下方法只是归纳整理&#xff0c;…

JVM GC ROOT分析

GC root原理:通过对枚举GCroot对象做引用可达性分析,即从GC root对象开始,向下搜索,形成的路径称之为 引用链。如果一个对象到GC roots对象没有任何引用,没有形成引用链,那么该对象等待GC回收,换而言之,如果减少内存泄漏,也就是切断引用链,常见的GCRoot对象如下: 1、…

【深度学习】在 MNIST实现自动编码器实践教程

一、说明 自动编码器是一种无监督学习的神经网络模型&#xff0c;主要用于降维或特征提取。常见的自动编码器包括基本的单层自动编码器、深度自动编码器、卷积自动编码器和变分自动编码器等。 其中&#xff0c;基本的单层自动编码器由一个编码器和一个解码器组成&#xff0c;编…