首页 > 其他分享 >周志华机器学习西瓜书学习笔记(一)| 第一章 绪论

周志华机器学习西瓜书学习笔记(一)| 第一章 绪论

时间:2024-08-27 17:25:45浏览次数:12  
标签:周志华 训练 绪论 假设 模型 样本 学习 算法

1.引言

        机器学习(machine learning,ML)是一门研究如何通过计算的手段,利用经验来改善系统自身性能的学科。由于在计算机系统中,“经验”通常以数据形式储存,因此,机器学习研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,称作“学习算法”*(learning algorithm)。从以上叙述中得出,机器学习是研究关于“学习算法”的学问。

*注:Mitchell在1997年给出了一个更形式化的定义:假设用P评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,我们则说关于T和P,该程序对E进行了学习

2.基本术语

  • 数据集(data set):其中每条记录是关于一个对象的描述,称为一个示例(instance)。数据集是示例的集合。
  • 特征(feature):反应对象在某个方面的性质,如“根蒂”、“色泽”、“敲声”,属性的取值为特征值,如“青绿”、‘乌黑’是“色泽”上的取值,属性(很多个属性)取值形成的空间叫做样本空间(sample space)。在样本空间中的每一点对应一个具有特定特征的对象,把这一个对象叫做特征向量(feature vector)。例如,(青绿,蜷缩,浊响)是一个确定的西瓜,也是一个特征向量。
  • 维数(dimensionality):一个样本的特征数,当维数非常大时,也就是现在说的“维数灾难”。
  • 计算机程序学习经验数据生成算法模型的过程中,每一条记录称为一个“训练样本”,同时在训练好模型后,我们希望使用新的样本来测试模型的效果,则每一个新的样本称为一个“测试样本”。
  • 训练集(trainning set):所有训练样本的集合。
  • 测试集(test set):所有测试样本的集合。
  • 标记(label):关于示例结果的信息。例如,(青绿,蜷缩,浊响,好瓜)中的好瓜。所有标记的集合叫做标记空间(label space)。
  • 问题的分类:分类(classification),预测值为离散值的问题;回归(regression),预测值为连续值的问题;聚类(clustering),根据数据集内部或者潜在规律进行学习。
  • 监督学习(supervised learning):训练数据有标记信息的学习任务,分类和回归都是监督学习的范畴。

  • 无监督学习(unsupervised learning):训练数据没有标记信息的学习任务,常见的有聚类和关联规则。

  • 泛化能力(generalization):机器学习出来的模型适用于新样本的能力,即从特殊到一般的能力。

  • 前提假设:假设样本空间中全体样本服从一个未知分布(distribution),我们获得的每个样本都是独立地从这个分布上采样获得的,即“独立同分布”(independent and identically distributed,简称i.i.d.).

3.假设空间

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

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

4.归纳偏好

        判断分类的属性得到整理的属性空间往往不止一个,计算机算法基于某种偏好认为哪种假设比其他假设好就是归纳偏好(inductive bias)。其实在非线性拟合的预测中,一些胡猜有时会和经过训练模拟的函数预测差不多,这要求学习算法的归纳偏好与实际问题相是否符合有莫大的关系。

        任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑,而无法产生确定的学习结果。如果没有偏好,学习算法产生的模型每次在进行预测时随机抽选训练集上的等效假设,那么对新示例学得模型时而告诉我们它是好的、时而告诉我们它是不好的,这样的学习结果显然没有意义。

        归纳偏好可看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或“价值观”。引导算法确立 正确偏好一般性的原则:“奥卡姆剃刀”(Ocam's razor)是一种常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一致,则选最简单的那个”

        “没有免费的午餐”(No Free Lunch Theorem,NFL定理):

        NFL定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义,因为若考虑所有潜在的问题,则所有学习算法都一样好。要谈论算法的相对优劣,必须要针对具体的学习问题。

注:

\rightarrow②:

        \sum_{f}^{}\sum_{h}^{}\sum_{x\in \chi -X}^{}P(x)\parallel (h(x)\neq f(x))P(h|X,\pounds _a)\\ \\ =\sum_{x\in \chi -X}^{}P(x)\sum_{f}^{}\sum_{h}^{}\parallel (h(x)\neq f(x))P(h|X,\pounds _a)\\ \\ =\sum_{x\in \chi -X}^{}P(x)\sum_{h}^{}P(h|X,\pounds _a)\sum_{f}^{}\parallel (h(x)\neq f(x))\\

\rightarrow③:

        首先假设 $\textit{f}$ 是任何能将样本映射到 {0,1} 的函数。存在不止一个 $\textit{f}$ 时,$\textit{f}$ 服从均匀分布。例如,样本空间中只有两个样本时,\\ \chi =\left \{ x_1,x_2 \right \},|\chi|=2,则所有可能的真实目标函数如下:

        f_1:f_1(x_1)=0,f_1(x_2)=0\\ \\ f_2:f_2(x_1)=0,f_2(x_2)=1\\ \\ f_3:f_3(x_1)=1,f_3(x_2)=0\\ \\ f_4:f_4(x_1)=1,f_4(x_2)=1\\ 

        一共有\\ 2^{|\chi|}=2^2=4个可能的真实目标函数,此时通过算法\pounds _a学习出来的模型h(x)对每个样本无论预测值为0或1,都必然有一半的 $\textit{f}$ 与之预测值相等,因此有

\sum_{f}^{}\parallel (h(x)\neq f(x))=\frac{1}{2}2^{|\chi|}

5.发展历程

  • 符号主义:又称为逻辑主义、心理学派或计算机学派,其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理,代表有决策树基于逻辑的学习。典型决策树是以信息论为基础以信息熵最小化为目标直接模拟人类的对概念进行判定属性流程。基于逻辑的典型是归纳逻辑程序设计ILP。
  • 连接主义:基于神经网络的连接主义学习,它产生的是黑盒模型,BP算法的出现使得这种机器学习模型得到快速发展,但其局限性是试错性,就是过程涉及大量的参数而参数设置缺乏理论指导主要靠手工调参。
  • 统计学习:代表是支持向量机(SVM),连接主义和统计学习关系密切。
  • 深度学习:连接主义的又一次创意发展,狭义的讲就是很多层神经网络,主要涉及是数据量大,参数多,其发展是大数据及计算机设备的提升伴随产生。

6.习题

7.参考文献

[1]周志华. 机器学习[M]. 北京:清华大学出版社. 2016.01.

[2]谢文睿、秦州.机器学习公式详解[M].人民邮电出版社.2021.03

标签:周志华,训练,绪论,假设,模型,样本,学习,算法
From: https://blog.csdn.net/2201_75859438/article/details/141571382

相关文章

  • QT学习笔记1
    夹竹桃掉落在青草上,是刚刚醒来的风车,静止多年的水,轻轻晃动成冰。QWidget类是QMainwindow类和QDialog类的父类,它是一个空窗口。QMainWindow是一个主窗口程序的类,它会提供一个预定义的布局,在这个预定义的布局中包含:一个菜单栏、多个工具栏、多个浮动窗口(铆接部件)、一个状态栏、......
  • QT学习笔记2(QPushButton类、对象树、信号与槽,Lambdabiao表达式)
    那些难过的日子,都一起陪伴,也不说些什么大道理。难过的时候,所有人都给你讲一堆大道理。只有你的好朋友,懂你的沉默,陪你一起在墙角蹲着。对象树QT中创建QObject对象会时,构造函数会接收一个Parent父对象指针作为参数。这就于相当于创建QObject对象时,可以提供一个父类,创建的Q......
  • C++学习随笔——算法transform和lambda的用法
    std::transform是一个常用的STL算法,用于对序列中的每个元素进行操作,并将结果存储在另一个序列中。lambda表达式是一种匿名函数,可以在需要传递函数作为参数的场景中使用,比如在std::transform中。语法://一元操作std::transform(InputIterator1first1,InputIterator1la......
  • CANopen学习笔记(二)通讯对象PDO和SDO等
    通讯对象PDO我的观点:一个CANopen设备可以拥有最多512个RPDO和512个TPDO,总共最多1024个PDO。(得到GPT4o的肯定)CiA协议栈观点:一个只有一个逻辑设备的CANopen设备最多有512个PDO。PDO的两种用法:TPDO:生产者PDORPDO:消费者PDO特点小而快传输模式同步传......
  • qt 串口学习笔记
    qt6.7串口通信在Qt6.7中进行串口通信,主要依赖于QtSerialPort模块。QtSerialPort模块提供了一套方便的API,用于访问串口。下面是如何在Qt6.7项目中使用串口通信的基本步骤:1. 添加 QtSerialPort 模块首先,确保在你的Qt项目中包含了QtSerialPort模块......
  • C++学习随笔——C++仿函数的应用方法
    仿函数的基本定义仿函数(Functor),也称为函数对象(FunctionObject),是一个行为像函数的对象。实现仿函数的方法是重载类中的operator()操作符,使得对象能够像调用普通函数一样使用。仿函数的主要优势是它们可以拥有状态,并且可以被用于STL算法和容器中。简单例子:点击查看代码#in......
  • CANopen学习笔记(三)NMT
    NMTNMT主要用来管理和控制各个节点的状态,具体协议可以分为以下四类:NMTprotocolNodeguardprotocolHeartbeatprotocolBootupprotocolNMTprotocol该协议是CANopen中网络管理的协议,控制和管理节点的状态,通过发送相关报文,可以让目标节点进入特定的工作状态。工作状态有......
  • CANopen学习笔记(总)
    CANOpen定位:小网络,控制信号的实时通讯​ 确保实时性采取的措施ID域:11bit(CAN标准帧格式)控制报文采用数据最小字节数采用生产消费模型(数据无需应答)需要应答时,采用快速单字传输(一个报文最多传输一个32字节参数变量)一、协议分类主从协议一对多无应答模式和应答......
  • Android Qcom USB Driver学习(十)
    本章主要是基于之前的学习,实现一个hidraw的驱动,发现有两种用于识别usb设备的方式,放别是usb_device_id和hid_device_idhid_probe(1)hid_device_idkernel/msm-4.19/drivers/hid/usbhid/hid-core.cbus=usbusb_register注册驱动->sys/bus/usb/driver↓↓↓↓↓↓......
  • C++学习笔记——范围基于 for 循环和for_each循环的区别
    范围基于for循环是C++11中引入的,简化了遍历数组或容器的代码点击查看代码#include<iostream>#include<vector>intmain(){std::vector<int>numbers={1,2,3,4,5};//使用范围基于for循环遍历for(intnum:numbers){std::cout<<num......