机器学习第一章

第一章 机器学习简介

机器学习的概念

  • 对人类而言:学习是通过教授或体验而获得知识、技术、态度或价值的过程,从而导致可量度的稳定的行为变化。
  • 对计算机系统而言,以性能度量P进行衡量,如果一个计算机程序在某类任务T 上的性能,随着经验E 而提升,那么我们称这个计算机程序从经验E 中学习。
  • 例如:玩跳棋 E =下棋的经验 T =下跳棋的任务。P =程序赢得下一场比赛的概率。

机器学习的分类

  • 监督学习Supervised Learning

    监督学习是指通过让机器学习大量带有标签的样本数据,训练出一个模型,并使该模型可以根据输入预测相应输出的过程。

    在这里插入图片描述

    独立同分布 p(x,y)

    • 预测目标分为两类:
      1. 分类:输出为离散值

        二分类:行人、非行人

        多分类:行人、车辆、树木…

      2. 回归:输出为连续值

        行人的坐标

    常见的监督学习算法:

    • Linear Regression
    • Logistic Regression
    • Neural networks
    • Support Vector Machines (SVMs)
  • 无监督学习Unsupervised learning

    Dataset contains no labels 无标签:

    x ( 1 ) , . . . , x ( n ) x^{(1)},...,x^{(n)} x(1),...,x(n)

    直接对输入数据进行建模,提取数据有效信息探索数据的整体结构。

    在这里插入图片描述

    常见的无监督算法:

    • Clustering聚类

      — k-Means

    • Visualization and dimensionality reduction可视化和降维

      — Principal Component Analysis (PCA) 主成分分析(PCA)

    举例:

    • 基因聚类:

      通过聚类分析把基因按某些特性(表达规律)分成若干类别,聚合成同一类的基因在表达上有相似规律,它们很可能具有某些类似的功能

    • 主成分分析(PCA):

      PCA的思想是将n维特征映射到k维空间上k<n,这k维特征是全新的正交特征,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n−k维特征。

  • 强化学习Reinforcement Learning

    通过一个智能体在与复杂而不确定的环境交互中最大化总回报来学习的一种计算方法。

    智能体以“试错”的方式进行学习,通过与环境交互获得的奖赏和惩罚指导行为,目标是使智能体获得最大的奖赏

    在这里插入图片描述

    举例:

    在这里插入图片描述

    • AlphaGo背后的技术

      深度学习(联结主义)+ 强化学习(行为主义)

      –利用残差神经网络(ResNet)训练深度模型

      –利用MCTS树搜索技术解决围棋的搜索空间爆炸问题

      –采用**“自我对弈**”策略进行无人工标注的自我训练

    在这里插入图片描述

机器学习三要素

  • 模型

    –线性方法: f ( x , θ ) = w T x + b f(\mathbf{x},\theta)=\mathbf{w}^\mathrm{T}\mathbf{x}+b f(x,θ)=wTx+b

    –广义线性方法: f ( x , θ ) = w T ϕ ( x ) + b f(\mathbf{x},\theta)=\mathbf{w}^\mathrm{T}\phi(\mathbf{x})+b f(x,θ)=wTϕ(x)+b

    • 如果"ϕ(x)"为可学习的非线性基函数,"f(x,θ)"就等价于神经网络
  • 学习准则

    期望风险 R ( f ) = E ( x , y ) ∼ p ( x , y ) [ L ( f ( x ) , y ) ] \mathcal{R}(f)=\mathbb{E}_{(\mathbf{x},y)\sim p(\mathbf{x},y)}[\mathcal{L}(f(\mathbf{x}),y)] R(f)=E(x,y)p(x,y)[L(f(x),y)]

  • 优化方法

    梯度下降


学习准则-期望风险

模型 f ( x , θ ) f(\mathbf{x},\theta) f(x,θ)的好坏可以通过期望风险 R ( θ ) \mathcal{R}(\theta) R(θ)来衡量,定义为:

R ( θ ) = E ( x , y ) ∼ p r ( x , y ) [ L ( y , f ( x ; θ ) ) ] \mathcal{R}(\theta)=\mathbb{E}_{(x,y)\sim p_{r}(x,y)}[\mathcal{L}\big(y,f(x;\theta)\big)] R(θ)=E(x,y)pr(x,y)[L(y,f(x;θ))]

其中 p r ( x , y ) p_{r}(x,y) pr(x,y)为真实的数据分布, L ( y , f ( x ; θ ) ) \mathcal{L}\big(y,f(x;\theta)\big) L(y,f(x;θ))为损失函数,用来量化两个变量之间的差异

损失函数

  • 损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异。

几种常用损失函数:

  • 0-1 损失函数
  • 平方损失函数
  • 感知器损失函数
  • Hinge 损失函数
  • 交叉熵损失函数(负对数似然函数)

在这里插入图片描述

学习准则-经验风险

真实的数据分布——未知 映射函数——未知

  • 期望风险未知,通过经验风险近似

    训练数据: D = { x ( i ) , y ( i ) } , i ∈ [ 1 , N ] \mathcal{D}=\big\{\mathrm{x}^{(i)},y^{(i)}\big\},i\in[1,N] D={x(i),y(i)},i[1,N]

R D e m p ( θ ) = 1 N ∑ n = 1 N L ( y ( n ) , f ( x ( n ) , θ ) ) \mathcal{R}_{\mathcal{D}}^{emp}(\theta)=\frac1N\sum_{n=1}^N\mathcal{L}(y^{(n)},f(x^{(n)},\theta)) RDemp(θ)=N1n=1NL(y(n),f(x(n),θ))

  • 经验风险最小化

    在选择合适的风险函数后,我们寻找一个参数 θ ∗ \theta^* θ,使得经验函数最小化

    θ ∗ = arg ⁡ min ⁡ θ R D e m p ( θ ) \theta^*=\arg\min_\theta\mathcal{R}_{\mathcal{D}}^{emp}(\theta) θ=argθminRDemp(θ)

    机器学习问题转化成为一个最优化问题

优化:梯度下降法

在这里插入图片描述

在这里插入图片描述

设计机器学习算法的基本步骤

三步骤:

  1. 选择模型 e . g .   f ( x ) = a x + b e.g.\ f(x)=ax+b e.g. f(x)=ax+b
  2. 选择目标函数 e . g .   1 n ∑ i = 1 n ( y i − f ( x i ) ) 2 e.g.\ \frac1n\sum_{i=1}^n\left(y_i-f(x_i)\right)^2 e.g. n1i=1n(yif(xi))2
  3. 优化

机器学习=优化?

在这里插入图片描述

在这里插入图片描述

①训练数据没有想象的多

②噪声

③模型能力有强有弱

机器学习算法评价

训练集:用于训练模型,找出模型参数。

验证集:用以确定模型超参数,选出最优模型。

测试集:用于评估最终模型的泛化能力。

泛化能力

机器学习算法对新鲜样本的适应能力。

学习到的模型对未知数据的预测能力,这个未见过的测试数据必须是和训练数据处于同一分布,不在同一分布的数据是不符合独立同分布假设的(对同一规律不同的数据集的预测能力)。

通常通过测试误差来评价学习方法的泛化能力。

训练误差:

E r r o r ( D , f ) = 1 n ∑ i = 1 n ( y i − f ( x i ) ) 2 Error(D,f)=\frac{1}{n}\sum_{i=1}^{n}\left(y_{i}-f(x_{i})\right)^{2} Error(D,f)=n1i=1n(yif(xi))2

泛化误差:

E ( x , y ) [ ( y − f ( x ) ) 2 ] E_{(x,y)}[(y-f(x))^{2}] E(x,y)[(yf(x))2]

两种方式评价泛化误差:

理论:大数定律

实践:使用包含 m 个数据样本的独立数据集来测试模型

1 m ∑ j = 1 , . . . m ( y j − f ( x j ) ) 2 \frac{1}{m}\sum_{j=1,...m}(y_{j}-f(x_{j}))^{2} m1j=1,...m(yjf(xj))2

多项式曲线拟合

y ( x , w ) = w 0 + w 1 x + w 2 x 2 + … + w M x M = ∑ j = 0 M w j x j y(x,\boldsymbol{w})=w_0+w_1x+w_2x^2+\ldots+w_Mx^M=\sum_{j=0}^Mw_jx^j y(x,w)=w0+w1x+w2x2++wMxM=j=0Mwjxj

  • M是多项式的阶数(order)
  • x j x^j xj表示x的j次幂
  • 多项式系数 w 0 , . . . , w M w_0,...,w_M w0,...,wM整体记作向量w

注意,多项式函数y(x; w)是系数w的⼀个线性函数

误差函数

平方和误差函数:

E ( w ) = 1 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 E(\boldsymbol{w})=\frac{1}{2}\sum_{n=1}^{N}\{y(x_n,\boldsymbol{w})-t_n\}^2 E(w)=21n=1N{y(xn,w)tn}2

在这里插入图片描述

  • 系数的值可以通过调整多项式函数拟合训练数据的方式确定。
  • 最小化误差函数(error function)。
  • 有⼀个唯⼀解,记作 ∗ w ∗ ∗ *w^** w,可以用解析的方式求出。
  • 最终的多项式函数由函数 y ( x ; w ∗ ) y(x;w^*) y(x;w) 给出。

选择阶数M:

在这里插入图片描述

欠拟合

模型在训练集上误差很大,在测试集上误差也大

原因:由于模型能力不足(不灵活)

跟均方(RMS)误差

E R M S = 2 E ( w ∗ ) / N E_{RMS}=\sqrt{2E(\boldsymbol{w}^*)/N} ERMS=2E(w)/N

在这里插入图片描述

过拟合(正则化)

模型在训练集上误差很低,但是在测试数据上误差很高。

原因:由于训练数据少、噪声以及模型能力强等原因造成

解决方法:

①扩大训练集

②正则化Regularization (Occam’s Razor)

③通过验证集来评估选择模型

扩大训练集:

在这里插入图片描述

使⽤M = 9的多项式对N = 15个数据点(左图)和N = 100个数据点(右图),通过最最小化平方和误差函数的方法得到的解。

正则化:

通过修改目标函数来惩罚模型的复杂度

在这里插入图片描述

在这里插入图片描述

随着λ的增大,系数的大小逐渐变小 lnλ=-18 时 拟合较好
在这里插入图片描述

均⽅根误差 E R M S E_{RMS} ERMS与ln λ的关系

加入正则化项:降低了经验损失;降低模型复杂度;对抗过拟合

通过验证集来评估选择模型:

把给定的数据中的⼀部分从测试集中分离出,来确定系数w。这个分离出来的验证集(validation set),也被称为拿出集(hold-out set**)**

经验法则:60-20-20 or 50-25-25(如果数据足够多)

在这里插入图片描述

K折交叉验证

解决数据不够多的问题:

将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为验证集,最终返回k个测试结果的均值,k最常用的取值是10。

在这里插入图片描述

能够让可得到数据的(k-1)/k用于训练,同时使用所有的数据来评估表现

留一法

解决数据相当稀疏的问题:

考虑K = N的情况很合适,其中N是数据点的总数。这种技术叫做“留⼀法”(leave-one-out)。

  • 不受随机样本划分方式的影响
  • 结果往往比较准确
  • 当数据集比较大时,计算开销难以忍受

在这里插入图片描述

将数据集分层采样划分为3个大小相似的互斥子集,每次用3-1=2个子集的并集作为训练集,余下的子1集作为验证集

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值