. 逻辑回归
逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。
概率p与因变量往往是非线性的,为了解决该类问题,我们引入了logit变换,使得logit(p)与自变量之 间存在线性相关的关系,逻辑回归模型定义如下:
1 #Sigmoid曲线:
2 importmatplotlib.pyplot as plt3 importnumpy as np4
5 defSigmoid(x):6 return 1.0 / (1.0 + np.exp(-x))7
8 x= np.arange(-10, 10, 0.1)9 h = Sigmoid(x) #Sigmoid函数
10 plt.plot(x, h)11 plt.axvline(0.0, color='k') #坐标轴上加一条竖直的线(0位置)
12 plt.axhspan(0.0, 1.0, facecolor='1.0', alpha=1.0, ls='dotted')13 plt.axhline(y=0.5, ls='dotted', color='k') #在y=0.5的地方加上黑色虚线
14 plt.yticks([0.0, 0.5, 1.0]) #y轴标度
15 plt.ylim(-0.1, 1.1) #y轴范围
16 plt.show()
二、鸢尾花分类问题的思路分析
(1)选择使用LogisticRegression分类器,由于Iris数据集涉及到3个目标分类问题,而逻辑回归模型是二分类模型,用于二分类问题。因此,可以将其推广为多项逻辑回归模型(multi-nominal logistic regression model),用于多分类。
(2)根据多项逻辑回归模型,编写代码,输入数据集,训练得到相应参数并作出预测。
(3)对预测出的数据的分类结果和原始数据进行可视化展示。
三、多项逻辑回归模型的原理及推导过程
假设类别Y 的取值集合为 {1,2,...,K},那么多项逻辑回归模型是:
其似然函数为:
其中,
为模型在输入样本
时,将其判为类别k 的概率;
起到指示函数的作用,当K 等于样本
的标签类别时为1,其余均为0。
对似然函数取对数,然后取负,得到
(简记为: