首页IT科技大学生寒假创新创业计划书(寒假本科创新学习——机器学习(一))

大学生寒假创新创业计划书(寒假本科创新学习——机器学习(一))

时间2025-09-19 10:46:52分类IT科技浏览5666
导读:1.1什么是机器学习...

1.1什么是机器学习

1.1.1 Arthur Samuel给出的定义

Arthur Samuel是机器学习领域的先驱之一                ,

他编写了世界上第一个棋类游戏的人工智能程序

Arthur Samuel 的定义:

Machine Learning is Field of study that gives computers the ability to learn without being explicitly programmed.

机器学习是这样的领域                        ,他赋予计算机学习的能力        ,(这种学习的能力)不是通过显著式编程获得的                。

1.1.2 显著式编程和非显著式编程

什么是显著式编程 ?

举例来说:

比如我们要编写一个程序来自动区别苹果🍎和柠檬🍋            ,如果我们人为的告诉计算机苹果🍎是红色的                        ,柠檬🍋是黄色的            ,所以计算机看到红色就把它识别为🍎        ,看到黄色就把它识别为🍋                        ,这就是显著式编程

非显著式编程 ?

紧接上面的例子                ,如果我们只给计算机一堆🍎的图片    ,同时给计算机一堆🍋的图片                        ,然后编写程序让计算机自己去总结🍎和🍋的区别(前提是编写的程序没毛病)                    ,那么计算机很有可能通过大量图片也能总结出苹果是红色                、柠檬是黄色这个规律,当然                    ,计算机也有可能总结出其他的规律                        。

我们事先并不约束计算机必须总结出什么规律                        ,而是让计算机自己挑出最能区分🍎和🍋的一些规律    ,从而完成对苹果和柠檬的识别

像这种让计算机自己总结规律的编程方法                ,叫做非显著式编程

Arthur Samuel所定义的机器学习是专指这种非显著式的编程方法

另一个例子

比如我们想让一个机器人去教室外给我们接一杯水

显著式的编程是这样的:首先我们要向这个机器人发出指令让它向左转(因为门在机器人的左边)                        ,然后我们要让它朝前走五步        ,接下来            ,让机器人右转                        ,再向前走五步(走到咖啡机面前)            ,然后我们发指令让机器人把杯子放在合适的位置        ,再让机器人点 “冲咖啡                ” 按钮                        ,咖啡冲好之后                ,再次发指令    ,让机器人原路返回

由此可见                        ,显著式编程有很大的劣势

我们必须帮机器人规划其所处环境                    ,要把环境调查的一清二楚(机器人的位置在哪里,咖啡机在哪里                    ,咖啡机上的按钮在哪里                        ,机器人应该怎么走······)

(有这个时间为啥还要用机器人呢 ?)

这时候非显著式编程的优势就体现出来了

非显著式的编程

是这样的:

首先我们规定机器人可以采取一系列的行为(向左转    ,向右转                ,取杯子                        ,按按钮······)        ,接下来            ,我们规定在特定的环境下                        ,机器人做这些行为所带来的收益            ,叫做收益函数(比如机器人摔倒了        ,或者采取了某个行为导致撞到墙上                        、水洒出杯子                        ,此时规定收益函数的值为负;如果机器人采取了某个行为 成功取到了咖啡                ,那么我们的程序就要“奖励                        ”这个行为    ,规定此时收益函数的值为正)我们规定了行为和收益函数后                        ,我们就不用管了                    ,只需构造一个算法让计算机自己去找最大化收益函数的行为

可以想象,一开始计算机采用随机化的行为                    ,但是只要我们的程序编的足够好                        ,计算机是可能找到一个最大化收益函数的行为模式的

由此可见    ,非显著式编程的优势在于                ,它通过数据                        ,经验自动的学习        ,完成我们交给它的任务

1.1.3 Tom Mitshell给出的定义

Tom Mitshell 在他的书《Machine Learning》中提出了一个比较正式的定义 :

A compute program is said to learn from experience E with respect to same task T and some performance measure P,if its performance on T,as measured by P, improves with experience E

一个计算程序被称为可以学习            ,是指它能够针对某个任务T和某个性能P                        ,从经验E中学习            ,这种学习特点是        ,它在T上的被P所衡量的性能                        ,会随着经验E的增加而提高

我们还是举最开始的那个例子                ,在这个苹果🍎和柠檬🍋的例子中

在机器学习中    ,把这大量苹果和柠檬的图片叫做训练样本(training samples)

根据Tom Mitshell对机器学习的定义                        ,机器学习就是根据任务                    ,来构造某种算法,这种算法的特点是当训练样本越来越多时(即E越来越多)                    ,识别率也会越来越高

显然                        ,显著式编程是无法达到这个目的的

通过上面的描述可以看出    ,Tom Mitshell的定义比Arthur Samuel的定义更加数学化

根据经验E来提高性能指标P的过程是典型的最优化问题                ,数学中的最优化的各种理论都可运用其中                        ,所以数学在现代机器学习中占有重要地位

1.2基本术语

数据集:我们拿到所有数据构成的一个集合(即上图中《训练数据》这个表 )

训练:我们拿到数据用来建立这个模型        ,建立这个模型的过程就是训练

测试(test):建立这个模型之后            ,给一个新的数据                        ,然后用这个模型判断这个数据做对or做错(其实就是使用这个模型)

测试数据的 结果/答案 应该是已知的            ,否则没法了解模型给出的结果是对是错;同时        ,为了得到一个客观的结果                        ,测试数据和训练数据应该是分开的→测试数据一开始就应该留出来

🐖测试是把模型拿来用                ,而这个“用        ”    ,既可能是用来考察这个模型好不好                        ,也可能是给个数据让模型真的给出结果

示例(instance)和样例(example):

↑ 每一行就是一个示例(instance)

而每一行加上对应最后一列的 是或否                    ,就是一个样例(example)

区别: example是有结果的,而instance是没有结果的

样本(example):概念比较模糊                    ,有时候可以指每一个样例(example)                        ,有时候也可以指整个数据集

属性(attribute)= 特征(feature):表中瓜的色泽        、根蒂            、敲声都是属性/特征

属性值:可以理解为在某个属性上的 “取值            ”

比如    ,第一个瓜在色泽上的属性值是青绿

属性空间 (attribute space)= 样本空间(sample space)= 输入空间:把每个属性想象成一个坐标轴                ,属性张成的空间就是属性空间 / 样本空间

特征向量(feature vector):每个西瓜🍉都可以在属性空间中找到自己对应坐标的位置                        ,由于空间中的每个点对应一坐标向量        ,因此我们也把一个示例(注意不是样例)成为一个“特征向量                        ”

标记空间(label space)=输出空间:一般我们用(xi            ,yi)表示第 i 个样例                        ,其中yi∈Y是示例xi的标记(label)            ,Y是所有标记的集合        ,Y也称“标记空间            ” 或 “输出空间        ”

聚类(clustering)和簇(cluster):

聚类(clustering)是将集中训练的西瓜分成若干组                        ,而分成的每个组称为一个簇(cluster)

这些自动形成的簇肯恶搞对应一些潜在的概念划分                ,例如“浅色瓜                        ”和“深色瓜                ”    ,甚至“本地瓜    ”和“外地瓜                        ”

这样的学习过程有助于我们了解数据内在的规律                        ,为更深入的分析数据建立基础

监督学习(supervised learning) 和 无监督学习(unsupervised learning) :依据训练数据是否有标记信息                    ,学习任务大致课分为监督学习无监督学习,分类和回归是前者的代表                    ,聚类是后者的代表

声明:本站所有文章                        ,如无特殊说明或标注    ,均为本站原创发布        。任何个人或组织                ,在未征得本站同意时                        ,禁止复制                        、盗用            、采集        、发布本站内容到任何网站                        、书籍等各类媒体平台            。如若本站内容侵犯了原著者的合法权益        ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
实现聊天机器人的主流方法(火爆全网的人工智能聊天机器人使用教程)