独家总结 | 一文读懂机器学习的“发展历程” (时间历程,详细又充实!)

本文主要是介绍独家总结 | 一文读懂机器学习的“发展历程” (时间历程,详细又充实!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

↑ 点击上方【计算机视觉联盟】关注我们

机器学习是人工智能AI研究发展到一定阶段的必然产物!

二十世纪五十年代~七十年代初,“推理期”:机器的只能体现在具有逻辑推理能力。


二十世纪七十年代中期开始,AI进入“知识期”,希望机器能够自己学习!

其实,图灵1950年就曾提到过机器学习的可能


五十年代中后期,基于神经网络的“连接主义”学习开始,比如:感知机 


六七十年代,基于逻辑表示的“ ”符号主义学习发展, 比如:归纳学习系统、概念学习系统 


八十年代,1980 年夏,在美国卡耐基梅隆大学举行了第一届机器学习研讨会(IWML);同年, 《策略分析与信息系统》连出三期机器学习专辑; 1983 年,出版了R. S. Michalski、J. G. Carbonell 和T. Mitchell 主编的《机器学习:一种人工智能途径)) [Michalski et al., 1983] ,对当时的机器学习研究工作进行了总结; 1986 年,第一本机器学习专业期刊Machine LeαTηing 创刊; 1989 年,人工智能领域的权威期刊Artificial Intelligence 出版机器学习专辑,刊发了当时一些比较活跃的研究工作?其内容后来出现在J. G. Carbonell 主编、MIT 出版社1990 年的《机器学习:范型与方法》 [Carbonell, 1990] 一书中.总的来看,二十世纪八十年代是机器学习成为一个独立的学科领域、各种机器学习技术百花初绽的时期.


R. S. Michalski 等人[Michalski et al., 1983] 把机器学习研究划分为"从样例中学习" "在问题求解和规划中学习" "通过观察和发现学习" "从指令中学习"等种类;


E. A. Feigenbaum 等人在著名的《人工智能手册>> (第二卷)中,则把机器学习划分为"机械学习" "示教学习" "类比学习"和"归纳学习"等种类

二十世纪八十年代以来,被研究最多、应用最广的是"从样例中学习" (也就是广义的归纳学习) ,它涵盖了监督学习、无监督学习等
在二十世纪八十年代,"从样例中学习"的一大主流是符号主义学习,其代表包括决策树(decision tree)和基于逻辑的学习.


典型的决策树学习以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念进行判定的树形流程。


基于逻辑的学习的著名代表是归纳逻辑程序设计(Inductive LogicProgramming,简称ILP) ,可看作机器学习与逻辑序设计的交叉,它使用一阶逻辑(即谓词逻辑)来进行知识表示,通过修改和扩充逻辑表达式(例如Prolog表达式)来完成对数据的归纳.


符号主义学习占据主流地位与整个人工智能领域的发展历程是分不开的


二十世纪九十年代中期之前,"从样例中学习"的另一主流技术是基于神经网络的连接主义学习。1983 年,J. J. Hopfield 利用神经网络求解"流动推销员问题"这个著名的NP 难题取得重大进展,使得连接主义重新受到人们关注. 1986 年, D. E. Rumelhart 等人重新发明了著名的BP 算法,产生了深远影响.与符号主义学习能产生明确的概念表示不同,连接主义学习产生的是"黑箱"模型,因此从知识获取的角度来看?连接主义学习技术有明显弱点;然而,由于有BP 这样有效的算法,使得它可以在很多现实问题上发挥作用.事实上, BP 一直是被应用得最广泛的机器学习算法之一.连接主义学习的最大局限是其"试错性'; 简单地说,其学习过程涉及大量参数,而参数的设置缺乏理论指导,主要靠于工"调参"夸张一点说,参数调节上失之毫厘,学习结果可能谬以千里.


二十世纪九十年代中期"统计学习" (statistical learning) 闪亮登场并迅速占据主流舞台,代表性技术是支持向量机(Support Vector Machine,简称SVM) 以及更一般的"核方法" (kernel methods).V. N. Vapnik 在1963 年提出了"支持向量"概念


一方面是由于有效的支持向量机算法在九十年代初才被提出,其优越性能到九十年代中期在文本分类应用中才得以显现;


另一方面,正是在连接主义学习技术的局限性凸显之后,人们才把目光转向了以统计学习理论为直接支撑的统计学习技术


二十一世纪初,连接主义学习又卷土重来,掀起了以"深度学习"为名的热潮.所谓深度学习?狭义地说就是"很多层"的神经网络。深度学习虽缺乏严格的理论基础,但它显著降低了机器学习应用者的门槛,为机器学习技术走向工程实践带来了便利。

往期回顾

亲身经历2019年校招8个大厂心得体会,纯干货分享(大疆、百度...)

2018年29篇必读机器学习论文总结,BERT, SeqGAN等上榜

机器学习经典算法决策树原理详解(简单易懂)

斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)

带你详细了解机器视觉竞赛—ILSVRC竞赛

2018年度最强的30个机器学习项目!

何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

这篇关于独家总结 | 一文读懂机器学习的“发展历程” (时间历程,详细又充实!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636885

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的