课外延伸-广义线性模型:
广义线性模型相当广泛,广义线性模型突破了很多线性回归模型的约束。
不要求相应变量与自变量直接线性相关
不要求方差齐性
不要求正态分布
,它包括普通回归模型,连续相应变量ANOVA模型以及针对属性相应变量的模型。
所有广义线性模型都有三个部分:
- 随机部分:识别相应变量Y并假设其概率分布
- 系统部分:指定模型中的解释变量
- 联系函数:指定Y的期望的函数,这个函数使得GLM通过具体线性模式的预测方程与解释变量建立联系
本章重点:
1.最小二乘法
找到一条直线,使所有样本到直线上的欧式距离只和最小。
2.广义线性回归
在公式上的特点是线性模型基础上加上一层激活函数y=g(f(x)) ,其中f(x)是线性函数。
3.对数几率回归
主要用来处理分类任务,如二分类的逻辑回归。在统计学中也叫定性数据回归。
逻辑回归有一个特点(z为线性结果,g(z)为logistic结果):
z=0 时 g(z)=0.5
z>0时 g(z)>0.5
z<0时 g(z)<0.5
公式:
代码:
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))
4.线性判别分析
LDA(Linner Discriminant Analysis)
将每个点投影到直线上,再在直线上把这些投影分类。使J尽可能大公式为:
参数含义:
S
w
S_w
Sw 类内散度矩阵
S
b
S_b
Sb 类间散度矩阵
经过复杂推导求得直线公式(稍后推导):
LDA也是经典得监督降为技术
5.多分类学习
把多分类问题拆分成多个二分类问题最后集成
OvO:一对一
OvR: 一对其他
MvM: 多对多
-
OvO需要训练N(N-1)/2个分类器
-
OvR需要训练N个分类器
-
MvM的正/反类构造必须有特殊设计,不能随意选取。
-
“纠错输出码”(ECOC),将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性
- 编码:对N个类做M次划分,每次划分将一部分类别划分为正类,一部分划分为反类,从而形成二分类训练集;这样一共产生M个训练集,可训练M个分类器
- 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别格子的编码进行比较,返回其中距离最小的类别作为最终预测结果。