监督学习初步---线性分类器

1. Introduction


监督学习(supervised learning):粗糙的说就是需要利用输入值来预测输出.

变量解释:

X:输入变量
Y:定量输出
G:定性输出,GG
xi:X的第i个观测值
X:矩阵

Example 1. Handwritten Digit Recognition

目标为预测给定图中的数字,其中G={0,1,2,...,9}.

部分样本如下图:
example1


2. Linear models and OLS


2.1 模型简介


输入向量XT=(X1,...Xp),预测输出

Y^=β^0+j=1pXjβ^j=XTβ

利用最小二乘(OLS)估计β^

β^=argminRSS(β)=argmini=1nxiβ^=(XTX)1XTy


2.2 统计理论分析


假设输入输出的联合分布函数为P(X,Y),回归函数为f(x)
期望均方预测误差

EPE(f)=E(Yf(X))2

从而
f(x)=argminEPE(f)=E(Y|X=x)

根据中心极限定理f^fa.s..

也就是说当f(x)=xTβ时,有

β=argminEPE(β)==[E(XTX)]1E[XTY]

β^β.


3. Linear Regression of an Indicator Matrix


Indicator Matrix:矩阵的元素只有0和1,且每一行只有一个1,其它均为0.

考虑模型输出为定性输出,GG={1,2,...,K}

定义示性函数Yk,k=1,2,...,K

Yk={10G=kelse

定义向量
Y=(Y1,...,YK)

只有一个元素为1,其它均为0,进行N次观测,可以定义N×K维观测矩阵Y为Indicator Matrix.
B^=(XTX)1XTY

给定一个新的输入x,分类方法如下:

  • 计算拟合值f^(x)=[(1,x)B^]T,K

  • 计算G^(x)=argmaxkGf^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)

从而
kGfk(x)=1


Example 2:使用R-MASS包中的Iris数据,有4个自变量Sepal.L.,Sepal.W.,Petal.L.,与Petal.W,因变量取值SpG={s,c,v}.

部分数据
Iris

变量之间的关系
relation

通过图片的最后一行或者最后一列可以看到,可以使用线性分类器对Sp进行预测.
将Sp转化为示性函数矩阵后计算

B^=(XTX)1XTY

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.

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/susan_wang1/article/details/51537018
个人分类: 数学
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭