机器学习 | 深入理解并掌握核心概念

        在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本 专栏 将带您踏上机器学习的奇妙之旅,探索其原理、方法和应用。我们将揭开机器学习背后的神秘面纱,解释监督学习、无监督学习、强化学习等不同类型的机器学习算法。

目录

初识人工智能

机器学习概述

机器学习算法分类

模型评估

深度学习概述

Jupyter Notebook使用 


初识人工智能

人工智能概述:人工智能发展必备的三要素是:数据、算法、计算力,数据和算法大家可以理解是什么意思,但是计算力是什么呢?计算力与我们电脑的显卡有关,如:CPU、GPU、TPU:

我们个人常用的CPU主要适合I\O密集型任务,以下是适合GPU运行的程序:

1)计算密集型的程序:其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD,也实在是太慢了。

2)易于并行的程序:GPU其实是一种SIMD(Single Instruction Multiple Data)架构,他有成百上千个核,每一个核在同一时间最好能做同样的事情。

以下是人工智能、机器学习与深度学习三者之间的关系(机器学习是人工智能的一个实现途径而深度学习是机器学习的一个方法发展而来):

深度学习作为机器学习的一个分支,更是引起了广泛的关注和热议。它基于多层次神经网络的模型,通过层层非线性变换,实现对数据的高效建模和特征提取。深度学习在计算机视觉、自然语言处理、语音识别等领域的取得的突破,让人们对于机器学习的潜力有了更加深刻的认识。

人工智能的发展阶段:人工智能充满未知的探索道路曲折起伏。如何描述人工智能自1956年以来60余年的发展历程,学术界可谓仁者见仁、智者见智。我们将人工智能的发展历程划分为以下6个阶段:

人工智能主要分支:通讯、感知与行动是现代人工智能的三个关键能力,在这里我们将根据这些能力/应用对这三个技术领域进行介绍:

计算机视觉(CV)

指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和人脸识别是其比较成功的研究领域。

当前阶段

计算机视觉现已有很多应用,这表明了这类技术的成就,也让我们将其归入到应用阶段。随着深度学习的发展,机器甚至能在特定的案例中实现超越人类的表现。但是,这项技术离社会影响阶段还有一定距离,那要等到机器能在所有场景中都达到人类的同等水平才行(感知其环境的所有相关方面)。

计算机视觉的发展历史如下,总体处于一个不错的态势:

其应用场景如下图所示:

语音识别

指识别语音(说出的语言)并将其转换成对应文本的技术。相反的任务(文本转语音/TTS)也是这一领域内一个类似的研究主题。

当前阶段

语音识别已经处于应用阶段很长时间了。最近几年,随着大数据和深度学习技术的发展,语音识别进展颇丰,现在已经非常接近社会影响阶段了。但语音识别领域目前仍面临着声纹识别和“鸡尾酒会效应”等一些特殊情况的难题。现代语音识别系统严重依赖于云,在离线时可能就无法取得理想的工作效果。

语音识别的发展历史如下,总体也是处于一个不错的态势:

文本挖掘/分类

指文本分类,该技术可用于理解、组织和分类结构化或非结构化文本文档。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

当前阶段

我们将这项技术归类到应用阶段,因为现在有很多应用都已经集成了基于文本挖掘的情绪分析或垃圾信息检测技术。文本挖掘技术也在智能投顾的开发中有所应用,并且提升了用户体验。当然文本挖掘和分类领域的一个瓶颈出现在歧义和有偏差的数据上。

文本挖掘/分类的发展历史如下:

机器翻译(MT)

是利用机器的力量自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)。

当前阶段

机器翻译是一个见证了大量发展历程的应用领域。该领域最近由于神经机器翻译而取得了非常显著的进展,但仍然没有全面达到专业译者的水平;但是,我们相信在大数据、云计算和深度学习技术的帮助下,机器翻译很快就将进入社会影响阶段。在某些情况下,俚语和行话等内容的翻译会比较困难(受限词表问题)。专业领域的机器翻译(比如医疗领域)表现通常不好。

机器翻译的发展历史如下:

机器人(Robotics)

机器人学研究的是机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理。机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。

当前阶段

自上世纪「Robot」一词诞生以来,人们已经为工业制造业设计了很多机器人。工业机器人是增长最快的应用领域,它们在20世纪80年代将这一领域带入了应用阶段。在安川电机、Fanuc、ABB、库卡等公司的努力下,我们认为进入21世纪之后,机器人领域就已经进入了社会影响阶段,此时各种工业机器人已经主宰了装配生产线。此外,软体机器人在很多领域也有广泛的应用,比如在医疗行业协助手术或在金融行业自动执行承销过程。但是,法律法规和「机器人威胁论」可能会妨碍机器人领域的发展。还有设计和制造机器人需要相对较高的投资。

机器人的发展历史如下:

        总的来说,人工智能领域的研究前沿正逐渐从搜索、知识和推理领域转向机器学习、深度学习、计算机视觉和机器人领域。大多数早期技术至少已经处于应用阶段了,而且其中一些已经显现出了社会影响力。一些新开发的技术可能仍处于工程甚至研究阶段,但是我们可以看到不同阶段之间转移的速度变得越来越快。 

机器学习概述

机器学习是一门令人着迷的学科,它通过模仿人类的学习过程,赋予计算机自主学习的能力。与传统的编程方式不同,机器学习允许计算机通过大量的数据进行训练,从而自动发现其中的模式和规律。这种自主学习的能力使得机器能够应对复杂、高维度的问题,解决传统方法难以解决的挑战。

机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测:

机器学习的工作流程大致如下:

总结流程就是(结果达到要求上线服务,结果没有达到要求重复下面流程):

1)获取数据 ——> 2)数据基本处理 ——> 3)特征工程 ——> 4)机器学习(模型训练) ——> 5)模型评估

接下来对流程中的五个步骤概念进行一个简单的讲解:

获取数据(数据集分析):下面我们就下面这张图片进行数据的分析,以及解释一下相关名词:

数据简介

在数据集当中一般:一行数据我们称为一个样本;一列数据我们称为一个特征。有些数据有目标值(标签值),有些数据没有目标值。

数据类型构成

数据类型一:征值+目标值(目标值是连续的和离散的)

数据类型二:只有特征值,没有目标值

数据分割

机器学习一般的数据集会划分为两个部分:

训练数据:用于训练,构建模型;测试数据:在模型检验时使用,用于评估模型是否有效。

划分比例:训练集:70% 80% 75%;测试集:30% 20% 25%

数据基本处理:即对数据进行缺失值、去除异常值等处理。

特征工程:特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。其意义会直接影响机器学习的效果。特征工程包含如下内容:

特征提取:任意数据(如文本或图像)转换为可用于机器学习的数字特征。

特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程。

特征降维:在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关"主变量的过程。

机器学习:选择合适的算法对模型进行训练。

模型评估:对训练好的模型进行评估。

机器学习算法分类

根据数据集组成不同,可以把机器学习算法分为以下几种情况:

监督学习:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归)或是输出是有限个离散值(称作分类)。

回归问题,例如:预测房价,根据样本集拟合出一条连续曲线。

分类问题,例如:根据肿瘤特征判断良性还是恶性,得到的结果是”良性“或者”恶性“,是离散的。

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

关于有监督和无监督学习之间的区别主要有以下情况:

半监督学习:训练集同时包含有标记样本数据和未标记样本数据。

监督学习的训练方式:

半监督学习的训练方式:

强化学习:实质是makedecisions问题,即自动进行决策,并且可以做连续决策。强化学习的目标就是获得最多的累计奖励。

例如:小孩想要走路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出一条腿,是左腿还是右腿,迈出一步后还要迈出下一步。

小孩就是agent,他试图通过采取行动(即行走)来操纵环境(行走的表面),并且从一个状态转变到另一个状态(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子得到奖励(给巧克力吃),并且当他不能走路时,就不会给巧克力。主要包含五个元素:

agent、action、reward、environment、observation

监督学习和强化学习两者之间的对比如下:

描述监督学习强化学习
反馈映射输入的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出。输出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。
反馈时间做了比较坏的选择会立刻反馈给算法。结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏。
输入特征输入是独立同分布的。面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入。

对于上面着四种机器学习的算法分类,进行如下表格的总结:

描述InOut目的案例
监督学习有标签有反馈预测结果猫狗分类,房价预测
无监督学习无标签无反馈发现潜在结构物以类聚,人以群分
半监督学习部分有标签,部分无标签有反馈降低数据标记的难度
强化学习决策流程及激励系统一系列行动长期利益最大化学下棋

模型评估

模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。按照数据集的目标值不同,可以把模型评估分为如下两种模型评估:

分类模型评估

准确率:预测正确的数占样本总数的比例。

其他评价指标:精确率、召回率、F1-score、AUC指标等。

回归模型评估

均方根误差(Root MeanSquaredError,RMSE):RMSE是一个衡量回归模型误差率的常用公式。不过,它仅能比较误差是相同单位的模型。

假设上面的房价预测,只有五个样本,对应的:

真实值为:100,120,125,230,400;预测值为:105,119,120,230,410

那么使用均方根误差求解得:

其他评价指标:

相对平方误差(RelativeSquaredError,RSE)

平均绝对误差(MeanAbsoluteError,MAE)

相对绝对误差(RelativeAbsoluteError,RAE)

拟合:模型评估用于评价训练好的的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。在训练过程中,你可能会遇到如下问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢?当算法在某个数据集当中出现这种情况,可能就出现了拟合问题。

欠拟合(under-fitting):模型学习的太过粗糙,连训练集中的样本数据特征关系都没有学出来。

因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。 

过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳。

机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。 

深度学习概述

深度学习(DeepLearning)(也称为深度结构学习【DeepStructuredLearning】、层次学习【HierarchicalLearning】或者是深度机器学习【DeepMachineLearning】)是一类算法集合,是机器学习的一个分支。

深度学习方法近年来,在会话识别、图像识别和对象侦测等领域表现出了惊人的准确性。但是,“深度学习"这个词语很古老,它在1986年由Dechter在机器学习领域提出,然后在2000年有Aizenberg等人引入到人工神经网络中。而现在,由于AlexKrizhevsky在2012年使用卷积网络结构赢得了ImageNet比赛之后受到大家的瞩目。

以下是深度学习演示的参考,网址为 playground.tensorflow.org/ 大家自行体验:

Jupyter Notebook使用 

Jupyter项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算。pyterNotebook,原名IPythonNotbook,是IPython的加强网页版,一个开源Web应用程序。名字源自Julia、Python和R(数据科学的三种开源语言),是一款程序员和科学工作者的编程/文档/笔记/展示软件,ipynb文件格式是用于计算型叙述的JSON文档格式的正式规范。

为什么使用JupyterNotebook?

传统软件开发:工程/目标明确

需求分析,设计架构,开发模块,测试

数据挖掘:艺术/目标不明确。

目的是具体的洞察目标,而不是机械的完成任务。通过执行代码来理解问题。迭代式地改进代码来改进解决方法,实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事

对于Jupyter Notebook的使用可以参考我之前的文章:Jupyter Notebook安装使用教程 ,这里不再赘述。

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

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

相关文章

机器人学论文——智能施药机器人调研报告

目录 摘 要 Abstract 第一章:引言 1.1研究背景 1.2 研究意义 1.3文章架构 第二章:智能施药机器人发展现状 2.1引言 2.2 大田智能施药机器人发展现状 2.3 果园智能施药机器人发展现状 2.4 设施农业智能施药机器人发展现状 第三章:智能施药机器…

短视频推广方案,新品推广攻略

短视频以其生动、直观的特点吸引了大量用户,成为品牌塑造、产品推广的有效手段。本文将深入解读短视频推广方法,帮助企业在这个充满创意和活力的平台上实现产品的成功推广。 一、抓住用户注意力的前奏:创意内容制作 引人入胜的开篇&#xff…

打家劫舍系列(三合一)(动态规划)

本篇博客讲解一下动态规划的打家劫舍系列,对应的力扣题目分别是198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III 198. 打家劫舍: 题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的…

关于C#中的HashSet<T>与List<T>

HashSet<T> 表示值的集合。这个集合的元素是无须列表&#xff0c;同时元素不能重复。由于这个集合基于散列值&#xff0c;不能通过数组下标访问。 List<T> 表示可通过索引访问的对象的强类型列表。内部是用数组保存数据&#xff0c;不是链表。元素可重复&#xf…

【数据结构】快速排序,归并排序

快速排序 1.hoare版本 根据动图的演示&#xff0c;整理的思路如下&#xff0c; 1.定义left,right,key。key默认是左边第一个元素&#xff0c;像两个指针&#xff0c;左边找比key大的&#xff0c;右边找比k小的&#xff0c;找到的话&#xff0c;交换二者&#xff0c;往返这个过…

《移动通信原理与应用》——QAM调制解调仿真

目录 一、QAM调制与解调仿真流程图&#xff1a; 二、仿真结果&#xff1a; 三、Matlab仿真程序代码如下&#xff1a; 一、QAM调制与解调仿真流程图&#xff1a; QAM调制仿真流程图&#xff1a; QAM解调仿真流程图&#xff1a; 二、仿真结果&#xff1a; &#xff08;1&…

JOSEF约瑟 中间继电器JZ14-44Z/4 不带外罩和接线座

系列型号 JZ14-014Z/0中间继电器;JZ14-014Z/1中间继电器; JZ14-014Z/2中间继电器;JZ14-014Z/4中间继电器; JZ14-014J/0中间继电器;JZ14-014J/1中间继电器; JZ14-014J/2中间继电器;JZ14-014J/3中间继电器; JZ14-014J/4中间继电器;JZ14-140Z/0中间继电器; JZ14-140Z/1中间继…

Web06--JavaScript基础02

1、JS流程控制语句 JS与Java一样&#xff0c;也有三个流程控制语句&#xff1a; 顺序结构 选择结构 循环结构 1.1 选择结构 1.1.1 if结构 <script type"text/javascript">if (条件表达式) {代码块;} else if(条件表达式){代码块;} else {代码块;} </scr…

Flink中的容错机制

一.容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 1.1 检查点&#xff08;Checkpoint&#xff09; 在流处理中&#xff0c;我们可以用存档读档的思路&#xff0c;将之前某个时间点的所有状态保存下来&#xf…

MATLAB实现岭回归数学建模算法

岭回归&#xff08;Ridge Regression&#xff09;是一种线性回归的扩展&#xff0c;用于处理多重共线性&#xff08;multicollinearity&#xff09;的问题。多重共线性是指自变量之间存在高度相关性的情况&#xff0c;这可能导致线性回归模型的不稳定性和过拟合。 岭回归通过在…

风二西CTF流量题大集合-刷题笔记|基础题(4)

61.sql2 sql.pcapng flag{a3eb0ff8-e467-5036-7c9b-287f6848d5f3} 62.冰蝎2.0 swt1.pcapng flag{0867c25f69f0c62c970408ccefe29bb7} 64.gs哥斯拉流量4.0 gs.pcapng flag{0fffbfa87e5508955b397950502db0bd} 65.冰蝎web流量 webshell.pcapng flag{da2c30d9318a0d80b4bfa…

C++——IOStream

什么是IO&#xff1f; C语言和C&#xff0c;我们其实已经接触到了两个IO的概念 #include<stdio.h> #include<iostream> iostream&#xff0c;便是IO流&#xff0c;其中I表示in&#xff0c;O表示out&#xff0c;代表着用户的输入和终端的输出。在之前的C语法中&a…

【服务器】安装Docker环境

目录 &#x1f33a;【前言】 &#x1f33c;1. 打开Xshell软件 &#x1f33b;2. 安装Docker环境 ①&#xff1a;下载docker.sh脚本 ②&#xff1a;列出下载的内容 ③&#xff1a;执行一下get-docker.sh文件&#xff0c;安装docker ④&#xff1a;运行docker服务 ⑤&…

内网安全管理系统(保密管理系统)

在当今信息化的时代&#xff0c;企业的内网已经成为其核心资产的重要组成部分。 随着企业的快速发展和信息化程度的提升&#xff0c;内网安全问题日益凸显&#xff0c;如何保障内网的安全和机密信息的保密性&#xff0c;已经成为企业亟待解决的问题。 内网安全管理系统(保密管…

定时任务组件Quartz

Quartz介绍 Quartz 是一个功能丰富的开源作业调度库&#xff0c;几乎可以集成到任何 Java 应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz 可用于创建简单或复杂的计划&#xff0c;以执行数十、数百甚至数万个作业;其任务被定义为标准 Java 组件的作业&#x…

了解HTTP/1.1、HTTP/1.0 和 HTTP/2.0

HTTP/1.1、HTTP/1.0 和 HTTP/2.0 是超文本传输协议&#xff08;HTTP&#xff09;的三个主要版本 先解释一下什么是超文本协议 超文本传输协议&#xff08;HyperText Transfer Protocol&#xff0c;简称 HTTP&#xff09;是互联网上应用最广泛的一种网络协议。设计 HTTP 的初衷是…

STM32(--001) Win10、Win11 上的驱动安装说明

一、USB线插到 CMSIS-DAP 接口上&#xff0c;将自动识别到两个设备 ① CMSIS-DAP&#xff1a;用于烧录代码、在线硬件仿真; 在Keil里烧录&#xff0c;无需通过FlyMCU; ② USB转TTL&#xff1a;用于开发板与电脑间串口通信 &#xff0c;即USART1, TX-PA9、RX-PA10; 接口备注&a…

Vue前端环境搭建以及项目搭建

安装node.js 安装node.js主要是为了安装npm工具&#xff0c;用于管理js包等&#xff0c;类似于java的maven。 去官网下载安装。 配置新的镜像源 npm config set registry https://registry.npmmirror.com安装webpack webpack是前端项目打包工具。 命令&#xff1a; npm…

2023年春秋杯网络安全联赛冬季赛 Writeup

文章目录 Webezezez_phppicup Misc谁偷吃了外卖modules明文混淆 Pwnnmanagerbook Reupx2023 CryptoCF is Crypto Faker 挑战题勒索流量Ezdede 可信计算 Web ezezez_php 反序列化打redis主从复制RCE&#xff1a;https://www.cnblogs.com/xiaozi/p/13089906.html <?php c…

【办公类-22-01】20240123 UIBOT逐一提取CSDN质量分

背景需求&#xff1a; 最近每天传2份Python&#xff0c;发现平均分从73.5降到了72.7。网上搜索一下原因&#xff0c;发现每篇CSDN都有一个评分&#xff08;以下是查分网站&#xff09; https://www.csdn.net/qchttps://www.csdn.net/qc 但是一篇一篇查询&#xff0c;显然太繁…