目录
介绍
逻辑回归是统计学习中的经典方法,它计算条件概率P(Y|X)并使用较大的标签作为预测。具体而言,二项逻辑回归模型是:
其中w和b是权重和偏见。为方便起见,展开权重向量和偏见向量,即
然后,二项逻辑回归模型是:
逻辑回归模型
逻辑回归模型由参数估计,优化算法和分类组成。
参数估计
在实现机器学习的循序渐进指南III——朴素贝叶斯中,我们使用最大似然函数来估计贝叶斯模型中的参数。同样,我们使用最大似然函数来估计逻辑回归模型中的参数。如下
其中:
g(x)也被称为sigmoid函数。似然函数是:
为方便起见,我们采用了似然函数的对数,即:
然后,问题转化为计算似然函数的最大值。
优化算法
因为,我们无法得到似然函数导数的解析解。为了获得似然函数的最大值,我们应用渐变上升方法,即:
计算似然函数的导数:
让导数等于零,我们可以得到:
因此,我们可以通过上面的等式得到优化的参数。梯度上升方法的代码如下所示:
if method == "GA":
weights = np.random.normal(0, 1, [feature_dim, 1])
for i in range(iterations):
pred = self.sigmoid(np.dot(train_data, weights))
errors = train_label - pred
# update the weights
weights = weights + alpha * np.dot(train_data.T, errors)
self.weights = weights
return self
分类
在逻辑回归模型中,应用sigmoid函数计算概率,表示为:
当结果大于时0.5,样本属于类1,否则它属于类0。
def sigmoid(self, x, derivative=False):
output = 1/(1 + np.exp(-x))
if derivative:
output = output * (1 - output)
return output
结论与分析
为了获得逻辑回归模型的参数,我们还可以最小化损失函数。最后,让我们将逻辑回归与Sklearn进行比较,检测性能如下所示:
两者的检测性能相似。
可以在MachineLearning中找到本文中的相关代码和数据集。
原文地址:https://www.codeproject.com/Articles/4061324/Step-by-Step-Guide-to-Implement-Machine-Learning-4