1.什么是逻辑回归
2.逻辑回归与多重线性回归区别
3.逻辑回归用途
4.逻辑回归算法公式计算
5.算法python实现
1.什么是逻辑回归
逻辑回归的过程可以概括为:面对一个回归或者分类问题,建立代价函数,然后通过优化方 法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。 Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)
回归模型中,y 是一个定性变量,比如 y=0 或 1,logistic 方法主要应用于研究某些时间发生的概率
2.逻辑回归与多重线性回归区别
Logistic 回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,Logistic 回归的因变量是离散变量;多重线性回归的因变量是连续变量。
3.逻辑回归用途
寻找危险因素:寻找某一疾病的危险因素等;
预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;
判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有 多大,也就是看一下这个人有多大的可能性是属于某病。
4.逻辑回归算法原理
Logistic 函数(或称为 Sigmoid 函数),函数形式为:
5.算法python实现
a.Sigmoid函数
def sig(x):
'''
Sigmoid函数
:param x:
:return:
'''
return 1.0/(1.0+np.exp(-x))
b.梯度下降法求解损失函数最小值
# 梯度下降优化算法
def gradAscent(dataMatIn, classLabels):
dataMatrix = mat(dataMatIn)
labelMat = mat(classLabels).transpose()
m, n = shape(dataMatrix)
alpha = 0.001
maxCycles = 500 # 进行500次迭代
thetas = ones((n, 1))
for k in range(maxCycles):
h = sigmoid(dataMatrix * thetas)
error = (h - labelMat)
thetas = thetas - alpha * dataMatrix.transpose() * error
return thetas
使用梯度下降法最优化损失函数,进而拟合出参数θ