1. Introduction
监督学习(supervised learning):粗糙的说就是需要利用输入值来预测输出.
变量解释:
X:输入变量
Y:定量输出
G:定性输出,G∈G
xi:X的第i个观测值
X:矩阵
Example 1. Handwritten Digit Recognition
目标为预测给定图中的数字,其中G={0,1,2,...,9}.
部分样本如下图:
2. Linear models and OLS
2.1 模型简介
输入向量XT=(X1,...Xp),预测输出
利用最小二乘(OLS)估计β^
2.2 统计理论分析
假设输入输出的联合分布函数为P(X,Y),回归函数为f(x)
期望均方预测误差
从而
根据中心极限定理f^→fa.s..
也就是说当f(x)=xTβ时,有
且β^→β.
3. Linear Regression of an Indicator Matrix
Indicator Matrix:矩阵的元素只有0和1,且每一行只有一个1,其它均为0.
考虑模型输出为定性输出,G∈G={1,2,...,K}
定义示性函数Yk,k=1,2,...,K
定义向量
只有一个元素为1,其它均为0,进行N次观测,可以定义N×K维观测矩阵Y为Indicator Matrix.
给定一个新的输入x,分类方法如下:
-
计算拟合值f^(x)=[(1,x)B^]T,为K维向量
-
计算G^(x)=argmaxk∈Gf^k(x)
NOTE:因为fk(x)=E(Yk|X=x),Yk为示性函数,示性函数的期望值为概率值,即
fk(x)=E(Yk|X=x)=P(Yk=1|X=x)=P(G=k|X=x)
从而
∑k∈Gfk(x)=1
Example 2:使用R-MASS包中的Iris数据,有4个自变量Sepal.L.,Sepal.W.,Petal.L.,与Petal.W,因变量取值Sp∈G={s,c,v}.
部分数据
变量之间的关系
通过图片的最后一行或者最后一列可以看到,可以使用线性分类器对Sp进行预测.
将Sp转化为示性函数矩阵后计算
B^为4*3的矩阵,以图中数据第一行作为新的输入计算拟合值为
f^=(0.9814216,0.1579605,−0.118288)
从而判断为s类,与真实分类相符.
R语言代码
rm(list=ls())
library(MASS)
Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]),
Sp = rep(c("s","c","v"), rep(50,3)))
X=as.matrix(Iris[,1:4])
G<-gl(3,50)
Y=matrix(0,nrow=150,ncol=3)
for(i in 1:150)
Y[i,G[i]]=1
BETA<-solve(crossprod(X,X))%*%crossprod(X,Y)
F<-X%*%BETA
for(i in 1:150)
F[i,F[i,]<max(F[i,])]=0
for(i in 1:150)
F[i,F[i,]==max(F[i,])]=1
sum(F[,1])
##[1] 51
sum(F[,2])
##[1] 45
sum(F[,3])
##[1] 54
ref 1 :J.F. et.al. The elements of statistical learning.2008.