数学建模(9)分类模型
也就是逻辑(logistic)回归或者fisher判别
逻辑回归
y≥0.5事件发生
y<0.5事件不发生
所以需要找到一个函数值域在[0,1]之间
比如标准正态分布的累计密度函数(称为 p r o b i t probit probit回归)
Φ ( x ) = ∫ − ∞ x 1 2 π e − t 2 2 d t \Phi(x)=\int^x_{-\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{t^2}{2}}dt Φ(x)=∫−∞x2π1e−2t2dt
和 S i g m o i d Sigmoid Sigmoid函数(称为 l o g i s t i c logistic logistic回归)
S ( x ) = e x 1 + e x S(x)=\frac{e^x}{1+e^x} S(x)=1+exex
常用逻辑回归,因为积分不方便。
一般用 F ( x i ′ β ) F(x_i'\beta) F(xi′β)来
S ( x ) = e x p ( x i ′ β ) 1 + e x p ( x i ′ β ) S(x)=\frac{exp(x_i'\beta)}{1+exp(x_i'\beta)} S(x)=1+exp(xi′β)exp(xi′β)
其中 x i ′ β x_i'\beta xi′β就是之前的线性回归的过程
这里的 s i g m o i d sigmoid sigmoid函数叫做连接函数
我的理解就是把线性回归之后的结果,再从 s i g m o i d sigmoid sigmoid函数里面过一遍,然后达到了把值域控制在[0,1]之间,达到分类的效果。
逻辑回归SPSS流程
// 生成虚拟变量为0-1变量,二分类生成一个即可
SPSS->转换->创建虚变量->留下一个即可
// 开始分析
SPSS->分析->二元逻辑回归->
选中因变量和协变量(自变量)->方法可以看情况选->
// 几个可选项
// 保存->选择概率、组成员->
// 选项->步进/除去概率就是指逐步回归的接受的概率->
// 分类分界值默认0.5,也可以选其他
// 自主抽样可以扩大样本
可以加入高阶次方,但是谨慎,容易出现过拟合现象(类似龙格现象)。
交叉验证:可以用已经存在的数据对于自己的预测模型做评估。
Fisher线性判别分析
给定训练集样例,设法将样例投影到一维的直线上,使得同类样例的投影点尽可能接近和密集,异类投影点尽可能远离。
SPSS线性判别分析流程
SPSS->分组变量(因变量)、自变量->
// 选择参数
定义范围->[0,1]
统计->函数系数全选
分类->摘要表
保存->全选
多分类问题
也可以使用Fisher线性判别分析
SPSS也可以做,和之前类似
逻辑回归也可以
把逻辑回归 s i g m o i d sigmoid sigmoid函数推广为 s o f t m a x softmax softmax函数
SPSS->分析->回归->多元线性分析->加入因变量、自变量
// 参数
保存->估算响应概率、预测类别
选项->进入、除去概率与之前类似
如果概率太高、太准,可能会出现过拟合