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^→f a.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.