机器学习基础:绪论

1. 概念

机器学习是从人工智能中产生的一个重要学科分支,是实现智能化的关键。

机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达。也就是经典定义利用经验改善系统自身的性能。(从 经验到数据 的过程)

在计算机系统中,经验通常以数据形式存在,因此,机器学习研究的主要内容,是关于在计算机上从数据中产生模型的算法,即学习算法

“Learning is any process by which a system improves performance from experience.”
– Herbert Simon

Machine learning aims to study Approaches which improve the Performance of a machine at a specific Task with Experiences.

也就是说 机器学习 = 任务 + 方法 + 经验 + 性能

2. 三个概念之间的关系

当学到机器学习最容易问的就是 三个概念 之间的关系了:机器学习、深度学习、人工智能。其实关系如下图一样:
在这里插入图片描述

  • 机器学习是人工智能的一个子领域,是人工智能的核心
  • 深度学习是机器学习的一个子领域,是目前最火的方向
  • 机器学习是从数据通往智能的技术途径,是现代人工智能的本质

由机器学习也延展出很多技术:

3. TAEP

3.1. 概念

通常描述机器学习的应用用 TAEP 来描述:

  • 任务-Task:机器学习要解决的问题(研究对象)
  • 方法-Approach:各种机器学习方法(核心内容)
  • 经验-Experience:训练模型的数据、实例(动力源泉)
  • 性能-Performance:方法针对任务的性能评估准则(检验指标)

3.2. 例子

  • T:人脸识别
    • A:线性回归
    • E:已标定身份的人脸图片数据
    • P:人脸识别准确率
  • T:象棋博弈
    • A: 人工神经网络
    • E: 指令化棋谱
    • P: 对随机对手的获胜比率
  • T:股价预测
    • A: 多项式回归
    • E: 不同股票近三年各交易日股价数据
    • P: 估价误差(方差)

4. 基本任务

机器学习有四个基本任务,所有的机器学习的应用与子领域都是这几个基本任务组成的:

  • 回归(Regression)
  • 分类(Classification)
  • 聚类(Clustering)
  • 表征(Representation)

4.1 回归(Regression)

回归,是一种分析手段,用于解决预测问题。除开逻辑回归外,它一般是用于预测连续型数据,等价于函数拟合。可以用于形状分析、表情分析、运动分析等

就像炒菜一样,我们每次都会尝一口,然后根据与理想味道的偏差来加料或者补水,最终得到最理想的结果;下次炒菜的时候,我们就有了这么个模型,可以预测到大概需要的调料数量,得到理想的结果。也是数据(经验)到模型的过程。

它最早源自于高尔顿和学生皮尔逊发现的一个神奇的生物遗传现象:如果父母双亲都比较高一些,那么生出的子女身高会低于父母的平均身高;反之,如果父母双亲都比较矮一些,那么生出的子女身高要高于父母平均身高。同样体重也如此,它们总是会向一个标准数值回归。

在这里插入图片描述

4.2 分类(Classification)与 聚类(Clustering)

分类和聚类一起讲,是因为它们其实非常像,唯一的区别就是一个是有监督学习,一个是无监督学习。(监督指的是学习时样本有无标签)

分类是根据一些给定的已知类别标号的样本,训练某种学习机器(即得到某种目标函数),使它能够对未知类别的样本进行分类。

一般用于:

  • 分类(图像、视频、文本………)
  • 识别(语音、人脸、指纹…….)
  • 检测(行人、车辆、军事目标…….)

在这里插入图片描述

聚类是给定一些无标签样本,将其分成由类似对象组成的多个类。

一般用于:

  • 分割(图像、视频)、背景建模
  • 数据挖掘、数据恢复
  • 字典学习(视觉信息,文本)

在这里插入图片描述

4.3 表征(Representation)

表征用于特征提取,是一种将原始数据转换成为更容易被机器学习应用的数据的过程,也就是为前面三个任务解决数据的问题,它一般用于数据重构和信息检索。

5. 方法分类

我们可以根据学习形式进行方法分类,就像之前提到分类和聚类的区别一样,
我们将学习方法分为:

  • 有监督学习(Supervised Learning)
    • 数据都有明确的标签,根据机器学习产生的模型可以将新数据分到一个明确的类或得到一个预测值。
    • 典型:支持向量机、贝叶斯分类器、决策树、线性判别分析…….
  • 无监督学习(Unsupervised Learning)
    • 数据没有标签,机器学习出的模型是从数据中提取出来的模式(提取决定性特征或者聚类等)
    • 典型:K均值、Meanshift、主成分分析、典型相关分析……
  • 半监督学习(Semi-supervised Learning)
    • 部分数据有明确的标签,根据机器学习产生的模型可以将新数据分到一个明确的类或得到一个预测值。
    • 典型:图直推学习、超图直推学习……

6. 基本术语

我们以西瓜书上的例子来讲:

假设我们收集了一批西瓜的数据,例如:(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉闷), (色泽=浅自;根蒂=硬挺;敲声=清脆)……每对括号内是一个西瓜的记录。

那么:

  • 数据集(dataset):所有数据的集合。(所有的西瓜数据)
  • 示例(instance)或样本(sample):每一条数据。(某一个西瓜的数据)
  • 样例(example):有标签的示例。(西瓜数据包括西瓜类型)
  • 特征(feature)或属性(attribute):单个特点。属性即事物本身所固有的性质。特征即一事物异于其他事物的特点。(色泽或根缔或敲声)
  • 属性空间, 样本空间, 输入空间, 假设空间,版本空间:都是属性张成的空间,但是里面包含不同的点。
  • 假设空间:包含所有可能的假设点的空间(比如所有属性组合的西瓜数据点)。
  • 版本空间(version space): 与训练集一致的假设集合,是通过训练集筛选过的假设空间,它随训练集而变化。
  • 特征向量:一条记录在对应空间中对应的坐标向量。(我们可以称每个西瓜记录都是一个特征向量,如(色泽=青绿;根蒂=蜷缩;敲声=浊响))
  • 特征空间:排除线性相关和对模型构建没有益处后的属性,形成的新属性空间。
  • 维数(dimensionality):一个样本的特征数。(该西瓜的例子维数为3)(当维数非常大时,也就是现在说的“维数灾难”)
  • 训练集(training set):所有训练样本的集合,特殊集合。
  • 测试集(testing set):所有测试样本的集合,一般集合。
  • 泛化(generalization):在训练集上训练好的模型在测试集上的效果,即从特殊到一般的效果。
  • 独立同分布(i.i.d.)
    • 每次抽样之间是没有关系的,不会相互影响
    • 每次抽样,样本都服从同样的一个分布

勘误表

用于订正书中的错误内容

https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm

数据集

http://archive.ics.uci.edu/ml/index.php

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

南京邮电大学数学实验A 作业3 编程与作图 答案 | 《MATLAB数学实验》第三版 第二章 课后习题答案

若要获得更好的阅读体验&#xff0c;请前往 链接。 1(课本习题2) 求满足 ∑ n 0 m ln ⁡ ( 1 n ) > 100 \sum_{n 0}^{m}{\ln{(1 n)}} > 100 ∑n0m​ln(1n)>100的m最小值. 代码: slog(1);n0; while s<100nn1;sslog(1n); end fprintf("最小m值是%d"…

实用电路图轻松掌握,一通百通 | 百能云芯

通过以下各种各样的实用电路&#xff0c;大家可以了解元器件的结构、特性、动作原理及电路的基本控制方式&#xff0c;掌握一些控制规律&#xff0c;这样的话&#xff0c;在日后的电路识图中就能融会贯通&#xff0c;一通百通。 文章中的电路图有难有易&#xff0c;有些图现在…

HF区块链链码基础

链码生命周期 一 . 链码准备 准备文件 . 在测试目录下创建chaincode,拷贝测试链码进 chaincode目录,拷贝 set-env.sh 脚本进 scripts 目录 二. 打包链码 打包测试链码 export FABRIC_CFG_PATH${PWD}/config peer lifecycle chaincode package ./chaincode/chaincode_basic.…

C语言字符串函数库全解!一篇文章大彻大悟醍醐灌顶!

目录 1.字符分类函数 2.字符转换函数 3.strlen的使用和模拟实现 4.strcpy的使用和模拟实现 5.strcat的使用和模拟实现 6.strcmp的使用方法及模拟实现 7.strncpy函数的使用与模拟实现 8.strncat函数的使用方法以及模拟实现 9.strncmp函数的介绍 10.strstr的使用和模拟实…

springboot整合mybatis-puls登陆注册

目录 创建springboot项目 目录结构&#xff1a; 启动类 测试类 idea建表 pom文件 编写yml文件 qq邮箱设置 登陆注册代码 编写持久层(Dao) 注册代码 业务层 业务实现类 mapper 控制层 前端代码 注册页面 邮件正文&#xff1a; 登录代码 控制层 业务层&#…

前端开发攻略---实现发送手机验证码60s倒计时效果(手机号验证+按钮文字自定义显示+Vue2写法+Vue3写法)

1、演示 2、说明 1、为了便于演示&#xff0c;本示例将在3秒后就再次发送。您可以根据需要自定义此时间间隔。 2、采用最少的变量以满足需求&#xff0c;以减少内存占用。 3、不仅仅局限于按钮情况&#xff0c;也可应用于不禁用按钮的情况&#xff0c;以实现更多的扩展性。 4、…

FPGA组合逻辑电路设计之译码器

在数字电路中可以根据电路功能的不同分为&#xff0c;组合逻辑电路与时序逻辑电路。组合逻辑 电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入&#xff0c;与电路原来的状态无 关。而时序逻辑从电路特征上看来&#xff0c;其特点为任意时刻的输出不仅取决于该…

安卓NetworkStatsManager使用及demo

目录 一、TrafficStats类简介二、demo示例 一、TrafficStats类简介 TrafficStats Android API 8提供了android.net.TrafficStats类。 通过此类能获取设备重启以来网络信息&#xff0c;部分函数如下所示&#xff1a; static long getMobileRxBytes() //获取通过移动数据网络…

【SpringBoot】-MyBatis详解+单表操作

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Framework】 主要内容&#xff1a;什么是MyBatis框架&#xff1f;MyBatis框架有什么用&#xff1f;MyBatis实现查询步骤详解。MyBatis实现单表的增删查改。MyBatis模糊查询&…

TDSQL手动调整备份节点或冷备节点

一、背景描述 近期TDSQL数据库备份不稳定&#xff0c;有些set实例的备份任务未自动发起。经排查分析&#xff0c;存在多个set实例容量已经超过TB级别&#xff0c;且冷备节点都是同一台。因此&#xff0c;需要手动将当前备份节点改到其他备节点&#xff0c;开启增量备份&#x…

FLStudio怎么冻结轨道以及如何批量复制音符

FLStudio是一款功能强大的音乐制作软件&#xff0c;广泛用于音乐制作和打谱当中。我们在制作音乐时&#xff0c;经常会遇到处理大量音频轨道的情况&#xff0c;过多的音频轨道可能会导致电脑性能受限&#xff0c;从而影响工作流程。为了应对这个问题&#xff0c;FLStudio提供了…

CPPTest实例分析(C++ Test)

1 概述 CppTest是一个可移植、功能强大但简单的单元测试框架&#xff0c;用于处理C中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式&#xff0c;并且可以轻松添加新的输出格式。 CppTest下载地址&#xff1a;下载地址1  下载地址2 下面结合实例分析下CppTest如…

小样本学习登Nature!计算效率高170倍,彻底起飞

中科院新提出的社会行为图谱SBeA登上Nature子刊&#xff01; SBeA是一个用于多动物3D姿势估计、身份识别和社会行为分类的小样本学习框架&#xff0c;能够全面量化自由群居动物的行为&#xff0c;使用较少的标记帧数&#xff08;约 400 帧&#xff09;进行多动物三维姿态估计。…

linux常用非基础命令/操作

本篇用于总结蒟蒻博主在使用linux系统的过程中会经常用到但老实记不住的一些非基础命令和操作&#xff0c;方便遗忘时查阅 一&#xff0c;关闭指定端口的进程以释放端口 每个端口都有一个守护进程&#xff0c;kill掉这个守护进程就可以释放端口 ①使用命令【netstat -anp | gre…

数据结构|树形结构|并查集

数据结构|并查集 并查集 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 有趣的并查集剧情演绎&#xff1a;【算法与数据结构】—— 并…

045、seq2seq

之——序列生成 杂谈 基于RNN实现&#xff0c;通过RNN生成器不断获取输入&#xff0c;更新隐藏状态&#xff0c;将最后生成的隐藏状态传递给解码器&#xff0c;然后自循环迭代直到输出停止。 正文 1.训练 训练时候解码器使用目标句子不断作为输入&#xff0c;就算解码错了输入…

linux休眠唤醒流程,及示例分析

休眠流程 应用层通过echo mem > /sys/power/state写入休眠状态&#xff0c;给一张大概流程图 这个操作对应在kernel/power/main.c的state这个attr的store操作 static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr,const char *buf, size_t n) …

ESP32-Thonny 拍摄图片到SD卡

前言&#xff1a; 代码运行在Thonny 添加main.py到单片机中&#xff1a; 可以先运行一下试试&#xff1a;会输出以下信息&#xff1a; 没有问题的话&#xff08;SD卡挂载成功&#xff0c;摄像头初始化成功&#xff09;运行一次主程序后&#xff0c;闪光灯会闪烁一下。 代码&…

js获取某月往前推一年或半年的年月数组

前言 需求&#xff1a;需要显示某月份往前推一年或者半年的费用情况&#xff0c;显示到柱形图上&#xff0c;后台接口只返回有数据的年份&#xff0c;这就需要前端拿全部月份数组去比对并显示。 开始 上代码&#xff1a; // date:选择的月份,比如:2024-04,//n:半年或者1年,…

PTA 天梯赛 L1-010 比较大小【C++】 L1-011 A-B 【C++ vector动态数组】【Python 字符串replace函数】

L1-010 比较大小 判断顺序很重要 #include<iostream> using namespace std; int main() {int a, b, c;cin >> a >> b >> c;int temp;if (a > b) {temp a;a b;b temp;}if (a > c) {temp a;a c;c temp;}if (b > c) {temp b;b c;c te…