机器学习基石---Linear Regression
2018-02-05 16:11
190 查看
knitr::opts_chunk$set(echo = TRUE)
前面都是在讲泛化的问题,现在开始讲算法相关。我之前看李航的书大都是怎么构建损失函数以及如何优化损失函数,也没想过泛化的问题。至于线性回归,统计学里讲的比较取巧,先假定存在线性关系,受误差项影响产生一些波动。书归正传,按照Week9的顺序,权当复习。
符号标记
x=(x0,x1,x2,⋯,xd)Tx=(x0,x1,x2,⋯,xd)T:样本特征,其中x0x0为常数项,其余为用户特征yy:目标变量,连续型数值变量
w=(w0,w1,w2,⋯,wd)
20000
Tw=(w0,w1,w2,⋯,wd)T:系数向量
线性回归算法
Hypothesis如下:h(x)=wTXh(x)=wTX
线性回归算法的目标就是找到最合适的ww,使得训练集误差(EinEin)最小。而衡量误差的方式为:
Ein(h)=1N∑n=1N(h(xn)−yn)2Ein(h)=1N∑n=1N(h(xn)−yn)2
矩阵表示:
矩阵XX共计NN行,每一行代表一个样本,每个样本d+1d+1个维度。
对于这类线性回归问题,损失函数一般是凸函数。凸函数证明:
∂f∂w=2N(XTXw−XTy)∂2f∂w2=2NXTX∂f∂w=2N(XTXw−XTy)∂2f∂w2=2NXTX
易知Hessian Matrix为半正定,所以损失函数是凸函数。此时只要令一阶导为0,求出对应的ww即可。
2N(XTXw−XTy)=0XTXw=XTywLIN=(XTX)−1XTy2N(XTXw−XTy)=0XTXw=XTywLIN=(XTX)−1XTy
其中(XTX)−1XT(XTX)−1XT又称伪逆矩阵,记为X+X+。XTXXTX的逆矩阵不一定存在,软件总能求出一个替代矩阵。这样我们可以找一个ww使得损失函数最小。
泛化问题
又是比较难的部分,线性回归能保证Ein≈EoutEin≈Eout吗?没大看懂,尝试着叙述一下。变换EinEin个形式:用WLINWLIN预测时,可以得到预测值y^=XwLIN=X(XTX)−1XTyy^=XwLIN=X(XTX)−1XTy,称X(XTX)−1XTX(XTX)−1XT为Hat Matrix。
而Hat Matrix的物理意义如下:
Hat Matrix相当于对yy做往XX张成的线性空间span投影的操作。那么{I - X{X^ + }{I - X{X^ + }则是向span垂直方向投影。从几何上讲我们希望找到最短的y−y^y−y^,显然向量垂直这个线性空间时,满足要求。(三维的时候容易理解,试验设计教材上的比较清楚)。
考虑noise存在的情况:y=f(X)+noisey=f(X)+noise,此时EinEin为:
Ein(wLIN)=1N∥y−XX+y∥2=1N∥(I−XX+)y∥2=1N∥(I−XX+)f(X)+(I−XX+)noise∥2Ein(wLIN)=1N‖y−XX+y‖2=1N‖(I−XX+)y‖2=1N‖(I−XX+)f(X)+(I−XX+)noise‖2
因为f(X)f(X)在XX张成的空间上,所以(I−XX+)f(X)(I−XX+)f(X)为0。进一步:
Ein(wLIN)=1N∥(I−XX+)noise∥2=1Ntrace(I−XX+)∥noise∥2=1N(N−(d+1))∥noise∥2Ein(wLIN)=1N‖(I−XX+)noise‖2=1Ntrace(I−XX+)‖noise‖2=1N(N−(d+1))‖noise‖2
推导过程并不懂,noise应该是一个矩阵,每个样本都会有一个随机扰动noise存在。Mr林并没有讲的很细致,就平均而言
E¯in=noiselevel∗(1+d+1N)E¯out=noiselevel∗(1−d+1N)E¯in=noiselevel∗(1+d+1N)E¯out=noiselevel∗(1−d+1N)
noise level也不知道什么意思,有的资料上貌似指的是误差项的协方差矩阵。
EinEin和EoutEout都向σ2σ2(noise level)收敛,他们之间的差异被2(d+1)N2(d+1)Nbound住。所以这时候说明NN够大时,Ein≈EoutEin≈Eout。
Summary
有点怀念NG课程直接面向工程的方式,至少容易接受点。泛化的问题实在是比较难理解,先这样吧。2018-02-05 于杭州
相关文章推荐
- 台湾国立大学机器学习基石.听课笔记(第三讲): 机器学习的分类
- 台湾国立大学机器学习基石.听课笔记(第五讲): 训练和测试有什么不同
- 台湾国立大学机器学习基石.听课笔记(第九讲):Linear Regression
- 机器学习基石 - Theory of Generalization
- 机器学习基石笔记(3-6)——机器学习的类型及机器学习有效性证明
- 机器学习基石-Noise and Error
- 机器学习的基石——概率论和贝叶斯定理
- 机器学习基石-Regularization
- 台大 机器学习基石课程
- 機器學習基石(Machine Learning Foundations) 机器学习基石 手写版笔记大全
- 机器学习基石2-2 PLA(Perceptron Learning Algorithm)
- 机器学习基石笔记2——感知机(Perceptron)
- 机器学习基石4-在何时才能使用机器学习(4)
- 听课笔记(第四讲):学习的可行性分析 (台湾国立大学机器学习基石)
- 机器学习基石笔记5——为什么机器可以学习(1)
- 公开课 | 机器学习基石08 Noise and Error
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现
- 1. 机器学习基石-When can Machine Learn? - The Learning Problem
- 机器学习基石 4.4 Connection to Real Learning
- 机器学习基石 5.2 Effective Number of Lines