机器学习基础(一)

3.3k 词

学习算法

对于某类任务T和性能度量P,一个计算机程序认为可以从经验E中学习是指,通过经验E改进后,它在任务T上由性能度量P衡量的性能会有所提升。

任务T

分类

在这类任务中,计算机需要指定某些输入属于kk类中的哪一类。

输入缺失分类

输入向量的每个度量不被保证。

回归

在这类任务中,计算机需要对给定输入预测数值。

转录

在这类任务中,机器学习系统预测一些相对非结构化表示的数据,并转录信息为离散的文本形式。

机器翻译

输入是一种语言的符号序列,计算机程序必须将其转换为另一种语言的符号序列。

结构化输出

输出是向量或者其他包含多个值的数据结构,并且构成输出的这些不同元素间具有重要关系。

异常检测

计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。

合成和采样

机器学习程序生成一些和训练数据相似的新样本。

缺失值填补

机器学习算法给定一个新样本xRnx \in R^n,xx中某些元素缺失,算法必须填补这些缺失值。

去噪

机器学习算法的输入是,xRn干净样本 x \in R^n经过未知损坏过程后得到的损坏样本x~Rn\widetilde{x} \in R^n.算法根据损坏后的样本x~\widetilde{x}预测干净的样本xx,或者更一般地预测条件概率分布p(xx~)p(x|\widetilde{x}).

密度估计或概率质量函数估计

机器学习算法学习函数pmodel:RnRp_{model} : R^n \rightarrow R,其中pmodel(x)p_{model}(x)可以解释成样本采样空间的概率密度函数或者概率质量函数。

性能度量P

  • 对于诸如分类、缺失输入分类和转录任务,通常度量模型的准确率或错误率
  • 对于密度估计任务,最常用的方法是输出模型在一些样本上概率对数的平均值。

经验E

无监督学习算法(unsupervised learning algorithm)

训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。

观察随机向量xx的好几个样本,试图显示或隐式地学习出概率分布p(x)p(x),或者该分布一些有意思的性质

监督学习算法(supervised learning algorithm)

训练含有很多特征的数据集,不过数据集中的样本都有一个标签(label)或目标(target)。

观察随机向量xx及其相关联的值或向量yy,然后从xx预测yy,通常是估计p(yx)p(y|x)

线性回归

建立一个系统,将向量xRnx \in R^n作为输入,预测标量yRy \in R作为输出。线性回归的输出是其输入的线性函数。

基本定义

y^\widehat{y}表示模型预测yy应该取的值。我们定义输出为:

y^=wTx\widehat{y} = w^T x

其中wRnw \in R^n是参数向量。

参数

参数是控制系统行为的值。

在线性回归中,我们可以将ww看作一组决定每个特征如何影响预测的权重。

性能度量P

测试集

  • 输入的设计矩阵记作:X(test)X^{(test)}
  • 回归目标向量记作:y(test)y^{(test)}

均方误差(mean squard error)

m个输入样本组成的设计矩阵评估模型性能。

MSEtest=1mi(y^testytest)i2MSEtest=1my^(train)y(train)22MSE_{test} = \frac{1}{m}\sum_i(\widehat{y}^{test} - y^{test})^2_i\\ MSE_{test} = \frac{1}{m}||\widehat{y}^{(train)}-y^{(train)}||^2_2

最小化MSEtrainMSE_{train}

设计一个算法,通过观察训练集(Xtrain,ytrain)(X^{train},y^{train})获得经验,减小MSEtrainMSE_{train}以改进权重ww

MSEtrainMSE_{train}的导数为0的情况:

wMSEtrain=0w1my^(train)y(train)22=01mwX(train)wy(train)22==0\nabla_w MSE_{train} = 0\\ \nabla_w \frac{1}{m}||\widehat{y}^{(train)}-y^{(train)}||^2_2=0\\ \frac{1}{m} \nabla_w ||X^{(train)}w-y^{(train)}||^2_2==0\\

xTx=ixi2=x22x^Tx=\sum_i|x_i^2|=||x||^2_2\\

w(X(train)wy(train))T(X(train)wy(tain))=0\nabla_w (X^{(train)}w-y^{(train)})^T(X^{(train)}w-y^{(tain)})=0\\

(AB)T=BTAT,(AB)T=ATBT,xTy=yTxxTy=(xTy)T=yTx 两个向量乘积是标量,标量转置是自身(AB)^T = B^TA^T,(A-B)^T = A^T - B^T,x^Ty=y^Tx\\ x^Ty = (x^Ty)^T = y^Tx\\{\text{ 两个向量乘积是标量,标量转置是自身}}\\

w(wTX(train)TX(train)w2wTX(train)Ty(train)y(train)Ty(train))=0\nabla_w (w^TX^{(train)T}X^{(train)}w-2w^TX^{(train)T}y^{(train)}-y^{(train)T}y^{(train)})=0\\

aa为常数,A是矩阵:

x(xTa)=ax(xTAx)=(AT+A)x\nabla_x(x^Ta) = a\\ \nabla_x(x^TAx)=(A^T+A)x

2X(train)TX(train)w2X(train)Ty(train)=0w=(X(train)TX(train))1X(train)Ty(train)2X^{(train)T}X^{(train)}w-2X^{(train)T}y^{(train)}=0\\ w=(X^{(train)T}X^{(train)})^{-1}X^{(train)T}y^{(train)}

我们得到了最终的ww的表达式,称为正规方程。

截距b

线性回归通常指额外附加参数b的模型

y^=wTx+b\widehat{y}=w^Tx+b

截距项b通常称为仿射变换的偏置参数。

总结

在线性回归中,我们制定了任务,预测yy,指定了度量参数,均方误差MSEMSE,并推到了降低误差的方法。

留言