机器学习

逻辑回归(Logistic Regression)

2019-03-05  本文已影响0人  东京的雨不会淋湿首尔

一.简介

如果我们要用线性回归算法来解决一个分类问题,对于分类, 取值为 0 或者1,但如果你使用的是线性回归,那么假设函数的输出值可能远大于 1,或者远小于0,即使所有训练样本的标签 都等于 0 或 1。尽管我们知道标签应该取值0 或者1,但是如果算法得到的值远大于1或者远小于0的话,就会感觉很奇怪。所以我们在接下来的要研究的算法就叫做逻辑回归算法,这个算法的性质是:

它的输出值永远在0到 1 之间。
逻辑回归模型的假设是: image.png
其中:X 代表特征向量 g 代表逻辑函数(logistic function)是一个常用的逻辑函数为S形函数(Sigmoid function),公式为: image.png
python代码实现:
import numpy as np
    
def sigmoid(z):
    
   return 1 / (1 + np.exp(-z))
该函数的图像为: image.png

二.如何拟合逻辑回归模型的参数θ

线性回归的代价函数为: image.png
我们重新定义逻辑回归的代价函数为: image.png 其中:
image.png
image.png

在得到这样一个代价函数以后,我们便可以用梯度下降算法来求得能使代价函数最小的参数了。算法为:

image.png
求导后得到: image.png

除了梯度下降算法以外,还有一些常被用来令代价函数最小的算法,这些算法更加复杂和优越,而且通常不需要人工选择学习率,通常比梯度下降算法要更加快速。这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS)

上一篇 下一篇

猜你喜欢

热点阅读