《神经网络与深度学习》邱希鹏 学习笔记(2)
完成进度
第二章 机器学习概述
第二章首先介绍机器学习的基本概念和基本要素,并较为详细地描述一个机器学习的例子------线性回归
机器学习 (Machine Learning , ML) 通俗地讲,就是让计算机从数据中进行自动学习,得到某种知识/规律。
事实上,作为一门学科,机器学习通常指一类问题以及解决这类问题的方法,即如何从观测数据/样本中寻找规律,并利用学习到的规律/模型对未知或无法观测的数据进行预测。
机器学习在早期的工程领域被称作模式识别 (Pattern Recognition) ,但模式识别更偏向于具体的应用任务光学字符识别 语音识别 人脸识别 。这些任务的特色是,人类自身很容易完成,但背后的原因未知,因此也很难人工设计出一个计算机程序来完成这些任务。
机器学习可以直接从有标注的样本上学习其中的规律,并完成各种识别任务,并最终取代模式识别,成为这一类问题及解决方法的总称。
基本概念
特征 标签 数据集
以在市场上购买芒果的流程为例:
我们事先从未有过挑选芒果的经验,那么如何挑选合适的芒果进行购买?
- 在市场上随机选取一些芒果,列出每个芒果的特征 (Feature) 颜色 大小 形状 产地 品牌,以及需要预测的标签 (Label)。
此刻,我们可以将一个标记好特征以及标签的芒果看作是一个样本 (Sample),也被叫做示例 (Instance)。
-
数据集 (Data Set)
一组样本构成的集合
一般将数据集分为两部分:
-
训练集 (Training Set)
训练集中的样本是用来训练模型的,也叫训练样本 (Training Sample)
-
测试集 (Test Set)
测试集中的样本是用来检验模型好坏的,也叫测试样本 (Test Sample)
-
-
特征向量 (Feature Vector)
我们通常用一个 D D D 维向量 x = [ x 1 , x 2 , … , x D ] T \pmb{x} = [x_{1},x_{2},…,x_{D}]^{T} xxx=[x1,x2,…,xD]T 表示一个样本的所有特征构成的向量,其中每一维表示一个特征。
样本的标签通常用标量 y y y 来表示
学习/训练的过程
假设训练集 D \mathcal{D} D 由 N N N 个样本组成,其中每个样本都是独立同分布 (Identically and Independently Distributed, IID) ,即独立地从相同的数据分布中抽取的,记为
D = { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … , ( x ( N ) , y ( N ) ) } . \mathcal{D} =\{(\pmb{x}^{(1)}, y^{(1)}),(\pmb{x}^{(2)}, y^{(2)}),…,(\pmb{x}^{(N)}, y^{(N)})\}. D={ (xxx(1),y(1)),(xxx(2),y(2)),…,(xxx(N),y(N))}.
给定训练集 D \mathcal{D} D,使得计算机在一个函数集合 F = \mathcal{F} = F= { f 1 ( x ) , f 1 ( x ) , … f_{1}(\pmb{x}),f_{1}(\pmb{x}),… f1(xxx),f1(xxx),…} 中自动寻找一个“最优”的函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx)来近似每个样本的特征向量 x \pmb{x} xxx 和标签 y y y 之间的真实映射关系。
对于一个样本 x \pmb{x} xxx,可以通过函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx) 来预测其标签的值
y ^ = f ∗ ( x ) . \hat{y} = f^{*}(\pmb{x}). y^=f∗(xxx).
或标签的条件概率
p ^ ( y ∣ x ) = f y ∗ ( x ) . \hat{p} (y|\pmb{x}) = f^{*}_{y}(\pmb{x}). p^(y∣xxx)=fy∗(xxx).
寻找“最优”函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx) 是机器学习的关键,一般需要通过学习算法 (Learning Alogrithm) A \mathcal{A} A 来完成。
这个寻找的过程通常称为学习 (Learning) / 训练 (Training) 的过程。
一个完整机器学习的过程
这样,下次在市场购买芒果(测试样本)时,可以根据芒果的特征,使用学习到的函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx) 来预测芒果的好坏。
为了评价的公正性,还是独立同分布地抽取一组芒果作为测试集 D ′ \mathcal{D}^{'} D′,并在测试集中所有芒果上进行测试,计算预测结果的准确率
A c c ( f ∗ ( x ) ) = 1 D ′ ∑ x , y ∈ D ′ I ( f ∗ ( x = y ) Acc(f^{*}(\pmb{x})) =\frac{1}{\mathcal{D}^{'}} \sum_{x,y \in \mathcal{D}^{'}}{I(f^{*}(\mathcal{x} = y)} Acc(f∗(xxx))=D′1x,y∈D′∑I(f∗(x=y)
其中, I ( ∙ ) I(\bullet) I(∙)为指示函数, ∣ D ′ ∣ |\mathcal{D}^{'}| ∣D′∣为测试集大小。
下图给出了机器学习的基本流程。对于一个预测任务,输入特征向量为 x \pmb{x} xxx,输出标签为 y y y,选择一个函数集合 F \mathcal{F} F,通过学习算法 A \mathcal{A} A 和一组训练样本 D \mathcal{D} D,从 F \mathcal{F} F 中学习到函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx) ,这样对新的输入 x \pmb{x} xxx 就可以用函数 f ∗ ( x ) f^{*}(\pmb{x}) f∗(xxx) 进行预测。
机器学习的三个要素
机器学习是从有限的观测数据中学习/“猜测”出具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。
机器学习方法可以粗略的分为三个基本要素:模型、学习准则、优化算法。
对于一个机器学习任务,首先要确定其输入空间 X \mathcal{X} X 和输出空间 y y y。
-
不同机器学习任务的主要区别在于输出空间不同
-
二分类问题
y = { + 1 , − 1 } y = \{+1, -1\} y={ +1,−1}
-
C C C 分类问题
y = { 1 , 2 , … , C } y = \{1, 2,\dots,C\} y={ 1,2,…,C}
-
回归问题
y = R y = \mathbb{R} y=R
输入空间 X \mathcal{X} X 和输出空间 y y y 构成了一个样本空间。
对于样本空间中的样本 ( x , y ) ∈ X × y (\pmb{x},y) \in \mathcal{X} \times \mathcal{y} (xxx,y)∈X×y,假定 x \pmb{x} xxx 和 y