西瓜书学习笔记第1章(绪论)机器学习

2023-11-13

西瓜书学习笔记第1章(绪论)机器学习

1.1引言

机器学习是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。
经验的存在形式就是数据,而机器学习就是让计算机从数据中产生出模型的算法,即学习算法。有了学习算法,我们就可以基于这些数据产生相应的模型。
模型本书用"模型"泛指从数据中学得的结果。有文献用"模型"指全局性结果(例如一棵决策树),而用"模式"指局部性结果(例如一条规则)
[Mitchell, 1997J ]给出了一个更形式化的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。

1.2基本术语

要进行机器学习,就先要有数据。

  • 数据集(data set):记录的集合
  • 示例(instance)或样本(sample):每一条记录都是关于一个事件或对象的描述
  • 属性(attribute)或特征(feature):反映事件或对象在某方面的表现或性质的事项,例如色泽,根蒂,敲声
  • 属性值(attribute value):属性上的取值,例如青绿
  • 样本空间(sample space)或属性空间(attribute space)或输入空间:属性张成的空间。如色泽、根蒂、敲声张成的用于描述西瓜的三维空间,每个西瓜都能在这个空间找到自己的坐标位置。
  • 特征向量(feature vector):空间中的每个示例(由于空间中的每个点对应一个坐标向量)

D={x1,x2,…,xm} 表示包含 m 个示例的数据集。

每个示例有d个属性描述(如上面西瓜数据使用了3个属性),则每个示例xi=(xi1;xi2;…;xid)是d维样本空间X中的一个向量,xi∈X,其中xij是xi在第j个属性上的取值,d称为样本xi的“维数”(dimensionality)

  • 学习(learning)或训练(training):从数据中学得模型的过程,这个过程通过执行每个学习算法来完成
  • 训练数据(training data):训练过程中使用的数据
  • 训练样本(training sample):训练数据中的每一个样本
  • 训练集(traing set):训练样本的集合
  • 假设(hypothesis):学得模型对应了关于数据的某种潜在规律
  • 真相(ground-truth):数据的潜在规律

为了建立预测的模型,光有前面的示例数据是不行的,还需要得到训练样本的“结果”信息。

  • 标记(label):示例的结果的信息
  • 样例(example):拥有了标记信息的示例(一条记录)
  • (xi,yi)表示第i个样例,其中yi∈Y是示例xi的标记
  • 标记空间(label space)或输出空间:所有标记的集合,Y
  • 分类(classification)任务:预测的是离散值,如好瓜,坏瓜,的学习任务
  • 二分类(binary classification)任务:任务只有两个分类,通常令Y={−1,+1}或{0,1}
    • 正类(positive class)
    • 反类(negative class)
  • 多分类(multi-class classfication)任务:任务有多个类别,|Y|>2
  • 回归(regression)任务:预测的是连续值,如西瓜成熟度0.95、9.37的学习任。Y=R,R为实数集。
  • 测试(testing):学得模型后,使用其进行预测的过程。(已知x去求得y的过程)
  • 测试样本(testing sample):被测试的样本
  • 聚类(clustering):对训练集中的数据进行分组
  • 簇(cluster):聚类所分的组,每组称为一个簇。
  • 监督学习(supervised learning):训练数据拥有标记信息的学习任务,代表:回归、分类。
  • 无监督学习(unsupervised learning):训练数据无标记信息的学习任务,代表是聚类
  • 泛化(generalization)能力:学得模型适用于新样本的能力

1.3假设空间

  • 归纳(induction):从特殊到一般的“泛化”过程,即从具体的事实归结出一般性规律
    • 归纳有广义和狭义之分,广义的归纳学习大体相当于从样例中学习, 而狭义的归纳学习则要求从训练数据中学得概念(concept) ,因此亦称为"概念学习"或"概念形成"。
  • 演绎(deduction):从一般到特殊的“特化”过程,即从基础原理推演出具体状况

别忘了我们学习的目的是"泛化",即通过对训练集中瓜的学习以获得对没见过的瓜进行判断的能力。“记住"训练样本,就是所谓的"机械学习” [Cohen and Feigenbaum. 1983]. 或称"死记硬背式”学习。

我们可以把学习过程看做一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”(fit)的假设,即能够将训练集中的瓜正确判断正确的假设。假设的表示一旦确定,假设空间极其规模大小就确定了。

显示问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的假设集合,我们称之为版本空间(version space)。

1.4归纳偏好

  • 归纳偏好(inductive bias)简称偏好:机器学习算法在学习过程中对某种类型假设的偏好。任何一个有效的机器学习算法必须有其归纳偏好,否则它将被假设空间中刊社在训练集上等效的假设所迷惑,而无法产生确定的学习结果。
  • 归纳偏好可看作是学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或“价值观”。
  • 奥卡姆剃刀(Occam’s razor)是一种常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一致,则选最简单的那个”。
  • "没有免费的午餐"定理 (No Free Lunch Theorem,简称 NFL 定理) [Wolpert, 1996; Wolpert and Macready, 1995].无论学习算法La 多聪明、学习算法Lb 多笨拙,他们的期望性能相同。(就是教我们具体问题具体分析,谈论一个算法的好坏离不开具体的学习问题)
  • 学习算法自身的归纳偏好与问题是否相配,往往会起到决定性作用。

1.5发展历程

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

年代 时期 理论 代表作
1950~1970 推理期 赋予机器逻辑推理能力,机器就具有智能 “逻辑理论家”程序
1970中期 知识期 要使机器具有智能,就必须设法使机器拥有知识 知识工程
1980 学习期 机器自己学习知识 归纳逻辑程序设计(Inductive Logic Programming,ILP)

机器学习分类:

  • 从样例中学习
  • 在问题求解和规划中学习
  • 通过观察和发现学习
  • 从指令中学习

从样例中学习主流:

  • 符号主义学习
    • 决策树:以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念进行判定的树形流程。
    • 基于逻辑的学习:著名代表是归纳逻辑程序设计(ILP),可看做机器学习与逻辑程序设计的交叉,它使用一阶逻辑(谓词逻辑)来进行知识表示,通过修改和扩充逻辑表达式来完成对数据的归纳。
  • 基于神经网络的连接主义学习
  • 深度学习,狭义的说就是“很多层”的神经网络
  • 统计学习
  • 代表性技术:支持向量机(Support Vector Machine,简称SVM)

1.6应用现状

主要包括:NLP自然语言处理,CV计算机视觉,数据挖掘data mining。
手写识别
垃圾邮件分类
搜索引擎
图像处理
个人定制
推荐系统
研究大脑
还有一些算法也属于机器学习领域,诸如:

  • 半监督学习: 介于监督学习于无监督学习之间
  • 推荐算法: 没错,就是那些个买完某商品后还推荐同款的某购物网站所用的算法。
  • 强化学习: 通过观察来学习如何做出动作,每个动作都会对环境有所影响,而环境的反馈又可以引导该学习算法。
  • 迁移学习
    在这里插入图片描述

//可以配合吴恩达教授的视频观看,B站上有资源。
很多都是《周志华-机器学习》即西瓜书上的知识点,这是笔者关于学习机器学习过程做的一些笔记。
参考博文链接:https://blog.csdn.net/alistair_chow/article/details/77369490
和https://blog.csdn.net/qq_38962336/article/details/106387952?spm=1001.2014.3001.5502

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

西瓜书学习笔记第1章(绪论)机器学习 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • Google Chrome 扩展程序

    Adblock Plus 扩展网址 https chrome google com webstore detail adblock plus free ad bloc cfhdojbkjhnklbpkdaibdccddilifddb 官网
  • uni-app底部导航栏tabBar监听变化以及变换样式

    一 简介 tabBar有三项 点击后两项变换tabBar的样式 二 案例演示 三 代码 1 首先 监听tabBar 点击切换 放在这三个页面 和onLoad同级 页面生命周期onTabItemTap 监听 TabBar 切换点击 onTab
  • SQL计算复购率

    需求背景 订单表中有每笔订单的下单时间 用户ID 订单金额等信息 需要统计每个月在接下来几个月用户复购情况 create table order info order id int primary key user id int amoun
  • CSS样式表中的基本选择器

    样式表中的选择器 作用 用于选则控件 设置样式 常用的样式选择器 一 基础样式选择器 1 id选择器 用 来选择 ps id是唯一的不允许重复 id的名称 样式 值 给id为指定名称的控件 设置样式 css代码如下
  • SQL:开窗排序,在order by 后加判断条件的作用是什么?

    场景 在生产中 经常会看到窗口函数中对排序字段加 is not null 判断 类似这样的sql代码 select row number over partition by id order by amount 1 is not null
  • Python 学习笔记

    1 函数 2 其他 未完待续 1 函数 append 在列表末尾添加一个元素 list append item count 计算指定元素在列表 字符串或元组中出现的次数 for i in uniqueArr nums append arr
  • Weblogic远程代码执行漏洞 CVE-2023-21839

    漏洞简介 WebLogic Core远程代码执行漏洞 CVE 2023 21839 该漏洞允许未经身份验证的远程攻击者通过T3 IIOP协议进行 JNDI lookup 操作 破坏易受攻击的WebLogic服务器 成功利用此漏洞可能导致Or
  • C语言实验(十四):指针(数组排序,数组求平均数、中位数和众数)

    C语言实验 十四 指针 数组排序 数组求平均数 中位数和众数 一 输入10个整数 利用指针分别由小到大排序 由大到小排序 二 输入10个整数 通过指针引用数组 实现三个函数 分别求这10个整数的平均值 中位数 中值 数组名作为函数参数 通过
  • 人机融合的经验与人类的或机器的经验不同

    一 人机融合的经验与人 机器的经验有所不同 人的经验是通过感知 学习思考等方式积累起来的 是基于我们的感官 情感和意识等特点所形成的 人在与世界交互的过程中 通过观察事物 从错误中学习 与他人交流等方式逐渐积累了大量的经验 人类的经验通常包
  • Ubuntu16.04搭建FTP服务器

    1 vsftpd sudo apt get update sudo apt get install vsftpd 2 检查是否安装成功 vsftpd version 二 修改配置文件 1 修改vsftpd conf文件内容 sudo vim
  • ASCII码详解

    ASCII码表 ASCII码大致可以分作三部分組成 第一部分是 ASCII非打印控制字符 第二部分是 ASCII打印字符 第三部分是 扩展ASCII打印字符 第一部分 ASCII非打印控制字符表 ASCII表上的数字0 31分配给了控制字符
  • 切面更改入参

    定义一个注解 package com huaxia bigdata bi common annotation import com zeekr bigdata bi common constant Constant import com z
  • oracle 9i英文版下载,oracle9i各种版本的下载地址

    Oracle9i Database Release 2 Enterprise Standard Personal Edition for Windows NT 2000 XP http download oracle com otn nt
  • vue3切换路由模式——Hash 、histoary

    1 history模式 使用createWebHistory import createRouter createWebHistory from vue router import Home from views Home vue cons
  • ajax进度条视频缩略图,ajax 异步上传带进度条视频并提取缩略图.pdf

    ajax 异异步步上上传传带带进进度度条条视视频频并并提提取取缩缩略略图图 这篇文章主要介绍了ajax 异步上传带进度条视频并提取缩略图的相关资料 需要的朋友可以参考下 最近在 一个集富媒体功能于一身的项目 需要上传视频 这里我希望 成异步
  • 【Javascript】栈和队列的实现

    Js实现栈和队列 前言 leetcode 232 用栈实现队列 leetcode 225 用队列实现栈 前言 我们知道栈的原理是先进后出 队列的原理是先进先出 在JS中主要通过数组来实现队列和数组的功能 首先我们来看栈 入栈可以用 arr
  • jeecgboot后端java及前端vue无参数获取当前登录用户名等信息

    后端在controller中 注意 必须为带请求的接口 定时任务无法获得此信息 LoginUser loginUser LoginUser SecurityUtils getSubject getPrincipal String userI
  • uni-app搭建Android APP调试环境及兼容处理

    uni app搭建Android APP调试环境及兼容处理 1 回顾 2 利用MUMU模拟器搭建手机模拟器 3 uni API兼容处理方法 参考文献 1 回顾 之前 我在uni app环境搭建的文章中简单写了一下怎么搭建uni app环境并
  • java filereader 用法_第2章 FileReader类使用

    1 1 FileReader读数据一次读取一个字符 1 1 1 案例代码五 package com itheima 02 import java io FileReader import java io IOException 需求 从文件
  • 西瓜书学习笔记第1章(绪论)机器学习

    西瓜书学习笔记第1章 绪论 机器学习 1 1引言 1 2基本术语 1 3假设空间 1 4归纳偏好 1 5发展历程 1 6应用现状 1 1引言 机器学习是这样一门学科 它致力于研究如何通过计算的手段 利用经验来改善系统自身的性能 经验的存在形