学习算法
对于某类任务T和性能度量P,一个计算机程序认为可以从经验E中学习是指,通过经验E改进后,它在任务T上由性能度量P衡量的性能会有所提升。
任务T
分类
在这类任务中,计算机需要指定某些输入属于k类中的哪一类。
输入缺失分类
输入向量的每个度量不被保证。
回归
在这类任务中,计算机需要对给定输入预测数值。
转录
在这类任务中,机器学习系统预测一些相对非结构化表示的数据,并转录信息为离散的文本形式。
机器翻译
输入是一种语言的符号序列,计算机程序必须将其转换为另一种语言的符号序列。
结构化输出
输出是向量或者其他包含多个值的数据结构,并且构成输出的这些不同元素间具有重要关系。
异常检测
计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。
合成和采样
机器学习程序生成一些和训练数据相似的新样本。
缺失值填补
机器学习算法给定一个新样本x∈Rn,x中某些元素缺失,算法必须填补这些缺失值。
去噪
机器学习算法的输入是,干净样本x∈Rn经过未知损坏过程后得到的损坏样本x∈Rn.算法根据损坏后的样本x预测干净的样本x,或者更一般地预测条件概率分布p(x∣x).
密度估计或概率质量函数估计
机器学习算法学习函数pmodel:Rn→R,其中pmodel(x)可以解释成样本采样空间的概率密度函数或者概率质量函数。
性能度量P
- 对于诸如分类、缺失输入分类和转录任务,通常度量模型的准确率或错误率
- 对于密度估计任务,最常用的方法是输出模型在一些样本上概率对数的平均值。
经验E
无监督学习算法(unsupervised learning algorithm)
训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。
观察随机向量x的好几个样本,试图显示或隐式地学习出概率分布p(x),或者该分布一些有意思的性质
监督学习算法(supervised learning algorithm)
训练含有很多特征的数据集,不过数据集中的样本都有一个标签(label)或目标(target)。
观察随机向量x及其相关联的值或向量y,然后从x预测y,通常是估计p(y∣x)。
线性回归
建立一个系统,将向量x∈Rn作为输入,预测标量y∈R作为输出。线性回归的输出是其输入的线性函数。
基本定义
令y表示模型预测y应该取的值。我们定义输出为:
y=wTx
其中w∈Rn是参数向量。
参数
参数是控制系统行为的值。
在线性回归中,我们可以将w看作一组决定每个特征如何影响预测的权重。
性能度量P
测试集
- 输入的设计矩阵记作:X(test)
- 回归目标向量记作:y(test)
均方误差(mean squard error)
m个输入样本组成的设计矩阵评估模型性能。
MSEtest=m1i∑(ytest−ytest)i2MSEtest=m1∣∣y(train)−y(train)∣∣22
最小化MSEtrain
设计一个算法,通过观察训练集(Xtrain,ytrain)获得经验,减小MSEtrain以改进权重w
求MSEtrain的导数为0的情况:
∇wMSEtrain=0∇wm1∣∣y(train)−y(train)∣∣22=0m1∇w∣∣X(train)w−y(train)∣∣22==0
xTx=i∑∣xi2∣=∣∣x∣∣22
∇w(X(train)w−y(train))T(X(train)w−y(tain))=0
(AB)T=BTAT,(A−B)T=AT−BT,xTy=yTxxTy=(xTy)T=yTx 两个向量乘积是标量,标量转置是自身
∇w(wTX(train)TX(train)w−2wTX(train)Ty(train)−y(train)Ty(train))=0
a为常数,A是矩阵:
∇x(xTa)=a∇x(xTAx)=(AT+A)x
2X(train)TX(train)w−2X(train)Ty(train)=0w=(X(train)TX(train))−1X(train)Ty(train)
我们得到了最终的w的表达式,称为正规方程。
截距b
线性回归通常指额外附加参数b的模型
y=wTx+b
截距项b通常称为仿射变换的偏置参数。
总结
在线性回归中,我们制定了任务,预测y,指定了度量参数,均方误差MSE,并推到了降低误差的方法。