信息学基础研究分享 http://blog.sciencenet.cn/u/geneculture 语言理解&知识表达

博文

机器学习:人类的学习能力和创造能力以及想象能力的延伸

已有 696 次阅读 2018-6-5 12:18 |个人分类:百科全书|系统分类:科普集锦

  机器学习- -人类的学习能力和创造能力以及想象能力的综合延伸。(塞尔科技邹晓辉2018-06-05)

  机器学习作为计算机模拟自然人和社会人结合的个体的人、群体的人乃至超脱实例的人类的学习,就更加难定义了。尽管如此,为了人工智能技术发展的实际需要,人们还是从各自的角度(塞尔科技邹晓辉2018-06-05)在尝试给出了各自的定义。


   附录(zxh标读的文本):


   机器学习的研究意义

学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法

机器学习作为计算机模拟自然人和社会人结合的个体的人、群体的人乃至超脱实例的人类的学习,就更加难定义了。尽管如此,为了人工智能技术发展的实际需要,人们还是从各自的角度(塞尔科技邹晓辉2018-06-05)在尝试给出了各自的定义

Langley1996) 定义的机器学习是“机器学习是一门人工的科学,该领域的主要研究对象是人工因素,特别是如何在经验学习中改善具体算法的性能。(Machine learning is a science of the artificial. The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience.'

Tom Mitchell定义的机器学习(1997)对信息论中的一些概念有详细的解释,其中定义机器学习时提到“机器学习是对能通过经验自动改进的计算机算法的研究”。Machine Learning is the study of computer algorithms that improve automatically through experience.

Alpaydin2004)提出了自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”Machine learning is programming computers to optimize a performance criterion using example data or past experience.

尽管如此,为便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机。

 

机器能否象人类一样具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题

 

机器的能力是否能超过人,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。

 

机器学习有下面几种定义 “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习是对能通过经验自动改进的计算机算法的研究”。 “机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。” 一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

 

机器学习已经有了十分广泛的应用,例如

 数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。

 

发展史

机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。

第一阶段是在20世纪50年代中叶到60年代中叶,属于热烈时期。

第二阶段是在20世纪60年代中叶至70年代中叶,被称为机器学习的冷静时期。

第三阶段是从20世纪70年代中叶至80年代中叶,称为复兴时期。

机器学习的最新阶段始于1986年。

机器学习进入新阶段的重要表现在下列诸方面:

(1) 机器学习已成为新的边缘学科并在高校形成一门课程它综合了应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础

(2) 结合各种学习方法取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。

(3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如:学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。

(4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文的识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。

(5) 与机器学习有关的学术活动空前活跃。国际上,除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议

 

主要策略

学习是一项复杂的智能活动,学习过程与推理过程是紧密相连的,按照学习中使用推理的多少,机器学习所采用的策略大体上可分为4种——机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多,系统的能力越强

 

基本结构

表示学习系统的基本结构。环境向系统的学习部分,提供某些信息;学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分则根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述3部分确定。下面我们分别叙述这3部分对设计学习系统的影响。

 

影响学习系统设计的最重要的因素是环境向系统提供的信息。或者更具体地说是信息的质量。知识库里存放的是指导执行部分动作的一般原则,但环境向学习系统提供的信息却是各种各样的。如果信息的质量比较高,与一般原则的差别比较小,则学习部分比较容易处理。如果向学习系统提供的是杂乱无章的指导执行具体动作的具体信息,则学习系统需要在获得足够数据之后,删除不必要的细节,进行总结推广,形成指导动作的一般原则,放入知识库,这样学习部分的任务就比较繁重,设计起来也较为困难。

 

因为学习系统获得的信息往往是不完全的,所以,学习系统所进行的推理,并不完全是可靠的,它总结出来的规则可能正确,也可能不正确。这要通过执行效果加以检验。正确的规则能使系统的效能提高,应予保留;不正确的规则应予修改或从数据库中删除。

知识库是影响学习系统设计的第二个因素。知识表示有多种形式,比如特征向量、一阶谓词逻辑语句、产生式规则、语义网络和框架等等。这些表示方式各有其特点,在选择表示方式时要兼顾以下4个方面:

(1)表达能力强。

(2)易于推理。

(3)容易修改知识库。

(4)知识表示易于扩展。

对于知识库,最后需要说明的一个问题是:学习系统不能在全然没有任何知识的情况下凭空获取知识,每一个学习系统都要求具有某些知识理解环境提供的信息,分析比较,做出假设,检验并修改这些假设。因此,更确切地说,学习系统是对现有知识的扩展和改进

执行部分是整个学习系统的核心,因为执行部分的动作就是学习部分力求改进的动作。

执行部分有关的问题有3个:复杂性、反馈和透明性。

 

代码示例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

//在gcc-4.7.2下编译通过。

//命令行:g++-Wall-ansi-O2test.cpp-otest

#include<iostream>

usingnamespacestd;

voidinput(int&oper,constboolmeth)

{

//meth为true则只判断1,为false则判断1或0

while(true)

{

cin>>oper;

if(meth&&oper==1)

break;

elseif(oper==0||oper==1)

break;

cout<<"输入错误,请重新输入。"<<endl;//判断参数

cin.sync();//避免极端输入导致死循环

cin.clear();

}

}

intmain(void)

{

cout<<"1+1=2吗?那要看您怎么教我了,不要惊讶我会学习的"<<endl;

intladd,radd,aprs,rcnt(0),wcnt(0);//定义输入与结果,正确次数与错误次数

cout<<"开始学习……"<<endl;

for(inti(0);i!=10;++i)

{

cout<<"参数1(必须是1):"<<flush;//提示输入参数

input(ladd,true);

cout<<"参数2(必须是1):"<<flush;

input(radd,true);

cout<<"结果:"<<(ladd+radd)<<endl;//输出结果

cout<<"您对这满意吗(满意输入1,不满意输入0):"<<flush;//评价等级

input(aprs,false);

if(aprs)//判断用户评价

++rcnt;

else

++wcnt;

cout<<"正确次数:"<<rcnt<<"错误次数:"<<wcnt<<endl;//错误次数

}

if(rcnt>wcnt)//判断学习结果

cout<<"主人告诉我1+1=2。"<<endl;

else

if(rcnt<wcnt)

cout<<"主人告诉我1+1!=2。"<<endl;

else

cout<<"我不明白主人是什么意思。"<<endl;

intterm;//退出部分

cout<<"您对我的表现满意吗?满意请输入1不满意请输入0:"<<flush;

input(term,false);

if(term)

cout<<"谢谢我会继续努力学习"<<endl;

else

cout<<"谢谢我会继续努力学习D"<<endl;

//cin>>term;//在Windows上测试时启用

return0;

}

本程序将根据您的评价判断执行结果 "1+1=2"
  实际上仅用了最简单的 if else for 语句
  这就是一个机器学习的例子,通过环境影响来进行学习。
  通过本例我们不难看出,在人工错误的引导下,机器会给出错误的答案 1+1不等于2
  所以此类学习方法,一定要在正确引导下实践,否则会得到最坏的结果。
  学习完毕后,计算机会记录本次学习结果存入数据库,下次执行相应任务时,再将结果调出执行

 

机器学习_百度百科


辛西亚·汤白斯所著的《学习模式大发现》可以为每个在子女身上经历过挫折的父母亲,提供最佳忠言。作为父母,必须先了解自己天然的学习模式。当我们明白自己是如何获取新知识之后,我们才能更好地了解发生在自己及小孩子身上的事情,才能认识到是哪些差异导致了家长与小孩之间的障碍与误解,帮助家长和孩子一起更好地学习。


(人类学习的特点)


第一章 什么是学习模式
第二章 你是哪一种学习模式
第三章 具体有序型为主的学习模式
第四章 抽象有序型为主的学习模式
第五章 抽象随意型为主的学习模式
第六章 具体随意型为主的学习模式
第七章 如何集中注意力
第八章 我们如何记忆
第九章 我们如何理解事物
第十章 聪明有多少种类型
第十一章 集各种模式之长
第十二章 学习模式与学习障碍之间的差异
结语现在从何处着手

附录
学习模式概况测试(子女学前版)
学习模式概况测试(标准学校版)
学习模式概况测试(个人版)




http://blog.sciencenet.cn/blog-94143-1117508.html

上一篇:分层集合与标志(特征/属性)集合均有深度学习的很好基础
下一篇:“与其说字本位不如说言本位” 邹晓辉,邹顺鹏

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2018-9-25 23:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部