机器学习笔记之七——逻辑回归简单推导、softmax简单理解以及sklearn中逻辑回归常用参数解释

逻辑回归

对逻辑回归的理解:对线性回归的假设函数的 f(x) 又套上了一层sigmoid函数,即g(f(x)).

然后sigmoid函数是长这样的:

它的图像长这样:

对于线性回归得到的结果,再经过一层sigmoid函数,以x=0为界限,左边为0,右边为1,逻辑回归就是这样一个二分类的算法。

那我们再从数学的角度去看一下它的推导过程,在此之前,要知道sigmoid的导函数很特殊,长这样的,感受一下:

然后是推导过程:

梯度下降算法的原理在之前的文章中多次提及,这里不再记录,就是一个凸函数的求解过程。

softmax函数

 softmax函数是逻辑回归的一般化,逻辑回归只能够处理二分类,而softmax能够处理多酚类,它的公式:

sklearn中常用参数:

lr = LogisticRegressionCV(fit_intercept=True, 
                          multi_class='multinomial', penalty='l2', solver='lbfgs')
## penalty: 过拟合解决参数,l1或者l2

## solver: 参数优化方式
### 当penalty为l1的时候,参数只能是:liblinear(坐标轴下降法);
### 当penalty为l2的时候,参数可以是:lbfgs(拟牛顿法)、newton-cg(牛顿法变种)

## multi_class: 分类方式参数;参数可选: ovr(默认)、multinomial;这两种方式在二元分类问题中,效果是一样的;在多元分类问题中,效果不一样
### ovr: one-vs-rest, 对于多元分类的问题,先将其看做二元分类,分类完成后,再迭代对其中一类继续进行二元分类
### multinomial: many-vs-many(MVM),对于多元分类问题,如果模型有T类,我们每次在所有的T类样本里面选择两类样本出来,
#### 不妨记为T1类和T2类,把所有的输出为T1和T2的样本放在一起,把T1作为正例,T2作为负例,
#### 进行二元逻辑回归,得到模型参数。我们一共需要T(T-1)/2次分类

## class_weight: 特征权重参数

### Softmax算法相对于Logistic算法来讲,在sklearn中体现的代码形式来讲,主要只是参数的不同而已
## Logistic算法回归(二分类): 使用的是ovr;如果是softmax回归,建议使用multinomial

猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/84951412