当前位置: 首页 > news >正文

【信息科学技术与创新】机器学习 深度学习 人工神经网络相关分析

初识机器学习与人工神经网络

摘要

  1. 初识机器学习的概念、发展历史以及其三种主要方法
  2. 深度学习以及人工神经网络进行简要分析思考

Navigator

  • 初识机器学习与人工神经网络
    • 一、 初识机器学习
    • 二、 深度学习与人工神经网络相关分析

一、 初识机器学习

通过上网查阅相关资料我们可以了解到机器学习(ML)是一种对可以通过经验和数据从而自动改进的计算机算法的研究。而机器学习的算法是基于样本数据(训练数据)来构建模型,以便在没有明确清晰编程的情况下做出预测或决策

机器学习一词是1959年由美国IBM员工、计算机游戏和人工智能领域的先驱Arthur Samuel所创造的。1960年左右时机器学习研究的代表书是Nilsson 的《学习机器》一书,其主要涉及用于模式分类的机器学习,且学术界与模式识别相关的研究兴趣一直持续到1970年左右。而Tom Mitchell为机器学习领域研究的算法提供了一个被广泛引用的、且更正式的定义:“机器学习就是一个计算机程序从经验E中学习关于某类任务T和性能度量P,并且它在任务中的表现在T中,由P衡量,随着经验E的增加而提高。”机器学习的这种定义提供了一个基本的操作定义,而不是用认知术语来定义。这遵循图灵在他的论文“计算机与智能”中的提议,而其中“机器能思考吗?”这个问题被“机器能做我们(作为思考实体)能做的事情吗?”的问题取代,现代机器学习也确立了两个目标,一个是根据已经开发的模型对数据进行分类,另一个目的是根据这些模型对未来的结果进行预测。

机器学习方法在传统上分为三大类,具体取决于学习系统可用的“信号”或“反馈”的性质1.监督学习:由“老师”给计算机提供示例输入及其所需的输出,目标是学习将输入映射到输出的一般规则。2.无监督学习:没有给学习算法标签,让它自己在输入中找到结构。无监督学习本身可以是一个目标(发现数据中的隐藏模式),也可以是达到目的的一种手段(特征学习)。3.强化学习:计算机程序与必须执行特定目标(例如驾驶车辆或与对手玩游戏)的动态环境进行交互。当它在其问题空间中导航时,该程序会获得类似于奖励的反馈,并试图将其最大化。

具体来看,监督学习算法构建了一组数据的数学模型,该模型包含输入和期望的输出。数据称为训练数据,由一组训练示例组成。每个训练示例都有一个或多个输入和所需的输出,也称为监督信号。在数学模型中,每个训练样例用一个数组或向量表示,有时也称为特征向量,而训练数据则用一个矩阵表示。通过目标函数的迭代优化,监督学习算法学习生成一个函数,该函数可用于预测与新输入相关的输出。最优函数将允许算法正确确定不属于训练数据一部分的输入的输出,并且随着时间的推移提高其输出或预测的准确性的算法可以学会执行该任务。监督学习算法的类型包括主动学习、分类和回归。当输出被限制为一组有限的值时,使用分类算法,当输出可能具有某个范围内的任何数值时,使用回归算法。例如,对于过滤电子邮件的分类算法,输入将是传入的电子邮件,输出将是用于归档电子邮件的文件夹的名称。而相似性学习是与回归和分类密切相关的监督机器学习领域,但目标是使用相似度函数从示例中学习,该函数测量两个对象的相似或相关程度,它在排名、推荐系统、视觉身份跟踪、人脸验证和说话人验证中都有应用。

而无监督学习算法则采用一组仅包含输入的数据,并在数据中找到结构,例如数据点的分组或聚类。因此,算法从尚未标记、分类或分类的测试数据中学习。无监督学习算法不是响应反馈,而是识别数据中的共性,并根据每条新数据中此类共性的存在与否做出反应。无监督学习的一个核心应用是在统计学中的密度估计领域,例如寻找概率密度函数,无监督学习同时也包含其他领域,涉及总结和解释数据特征。

强化学习主要是关注软件代理应该如何在环境中采取行动以最大化累积奖励的相关算法。由于其普遍性,该领域已经被许多其他学科研究,如博弈论、控制理论、运筹学、信息论、基于模拟的优化、多智能体系统、群体智能、统计学和遗传算法。在机器学习中,环境通常表示为马尔可夫决策过程(MDP),且许多强化学习算法使用动态编程技术,大多数都不假定了解 MDP 的精确数学模型,并且在精确模型不可行时使用。强化学习算法主要用于自动驾驶汽车或学习与人类对手进行游戏。

二、 深度学习与人工神经网络相关分析

从概念上说,深度学习是一类使用多层神经网络从原始输入数据中逐步提取更高级别的特征的机器学习算法。例如在图像处理中,较低层可以识别边缘,而较高层可以识别与人类相关的概念如数字、字母甚至面孔。

在深度学习中,每个级别都学习将其输入数据转换为稍微抽象化和复合化的表示。例如在图像识别应用中,原始输入可能是像素矩阵;第一表示层可以抽象像素并编码边缘;第二层可以组合并编码边缘的排列分配;第三层可以编码鼻子和眼睛;第四层则可以识别出图像中包含人脸。但更重要的是,深度学习过程可以自行学习将哪些特征以最佳方式放置在哪个级别。这并不能消除手动调整的需要,因为不同数量的层以及不同层的大小可以提供不同程度的抽象。

目前深度神经网络通常根据通用逼近定理或概率推断来解释。经典的通用逼近定理涉及具有有限大小的单个隐藏层的前馈神经网络逼近连续函数的能力。1989 年,George Cybenko发表了关于sigmoid激活函数的第一个证明,并在 1991 年由 Kurt Hornik 推广到前馈多层架构。并且最近的工作还表明,通用逼近也适用于整流线性单元等无界激活函数。概率解释则源自机器学习领域。它主要与逻辑推理以及训练和测试的优化等概念相关。更具体地说,概率解释将激活非线性视为累积分布函数,并最终引入dropout作为正则化器到神经网络中。

谈到深度学习我们就不得不详细说说人工神经网络,作为深度学习的前身或者说是内核,人工神经网络是科学家们受构成动物大脑的生物神经网络启发而设计的计算系统。该系统通过分析示例样本来学习(逐渐提高其能力)并完成相应任务,且通常情况下不需要对不同的任务做相应的编程。例如在图像识别中,系统可能会通过分析手动标记为“猫”或“无猫”的示例图像并使用分析所得结果来识别其他图像中的猫。

人工神经网络还可以看作基于人工神经元的连接单元的集合(类似于生物大脑中的生物神经元集合)。神经元之间的各个连接(突触)都可以将信号从一个神经元传输到另一个神经元,接收(突触后)神经元则可以处理信号,然后向连接到它的下游神经元发出信号。神经元可能具有状态,并由实数表示,通常介于 0 和 1 之间。最重要的是神经元和突触也可能具有随着学习的进行而变化的权重,这可以增加或减少它向下游发送的信号的强度。并且通常神经元是分层组织的,不同的层可以对其输入执行不同类型的转换,信号从第一个(输入)层传播到最后一个(输出)层,可能是在多次遍历这些层之后。

另外有意思的是,神经网络方法的最初目标是以与人脑相同的方式解决问题。但随着时间的推移,注意力集中在匹配特定的认知能力上,因此导致与生物学的偏差,例如反向传播,或反向传递信息并调整网络以反映该信息,这也同样给我们对科学发展有了新的认识与体会。

参考文献
[1] 黄卫平. 数据智能科学技术导论
[2] https://en.wikipedia.org/wiki/Machine_learning
[3] https://www.sciencedirect.com/
[4] https://baike.baidu.com/

相关文章:

  • YOLO v7详解
  • 简简单单的结构体
  • Spring Cloud Zookeeper 优雅下线优化
  • 《计算机视觉基础知识蓝皮书》第3篇 卷积神经网络
  • 【JavaScript】四个常用功能/案例:表格排序 | 替换链接 | 倒计时 | 双色球机选一注
  • 数据结构-复杂度(深入学习版+Java版)
  • 【opencv-c++】cv::addWeighted图像加权混合
  • C++开发坦克大战--补充(加入传送门)--附完整代码
  • 浅谈梯度下降算法(模拟退火实战)
  • 5种优化你的安卓5.0 Lollipop代码的方法
  • [平台运维、Hadoop]Spark Streaming 实时计算框架
  • 【云原生丨Kubernetes系列15】创建 ConfigMap 资源对象
  • 时空复杂度题目讲解
  • SpringBoot员工管理的项目——SpringBoot后台数据库的搭建(课时十四)
  • Qt+Opencv+Ffmpeg实时摄像头数据推流,并在WEB端显示
  • 【笔记】你不知道的JS读书笔记——Promise
  • angular组件开发
  • Computed property XXX was assigned to but it has no setter
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • ES6 学习笔记(一)let,const和解构赋值
  • JS函数式编程 数组部分风格 ES6版
  • leetcode98. Validate Binary Search Tree
  • log4j2输出到kafka
  • mysql 5.6 原生Online DDL解析
  • nodejs调试方法
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Python利用正则抓取网页内容保存到本地
  • Windows Containers 大冒险: 容器网络
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 分享几个不错的工具
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 理清楚Vue的结构
  • 深度学习中的信息论知识详解
  • 首页查询功能的一次实现过程
  • 我的面试准备过程--容器(更新中)
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​香农与信息论三大定律
  • # Apache SeaTunnel 究竟是什么?
  • #define,static,const,三种常量的区别
  • #Linux(Source Insight安装及工程建立)
  • #Ubuntu(修改root信息)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $(function(){})与(function($){....})(jQuery)的区别
  • $.ajax中的eval及dataType
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (7)STL算法之交换赋值
  • (day 12)JavaScript学习笔记(数组3)
  • (LeetCode) T14. Longest Common Prefix
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (python)数据结构---字典
  • (附源码)计算机毕业设计大学生兼职系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (算法设计与分析)第一章算法概述-习题
  • (一)Thymeleaf用法——Thymeleaf简介