Logistic Regression 是一种常用的分类算法,主要用于二分类问题。本教程将介绍 Logistic Regression 的基本概念、原理以及如何使用 Python 进行实现。
基本概念
Logistic Regression 试图找到一个数学模型,使得模型对于输入数据的预测概率与实际类别标签尽可能接近。
原理
Logistic Regression 的核心是一个称为 Sigmoid 函数的激活函数。Sigmoid 函数可以将输入数据映射到 0 和 1 之间的概率值。
$$ \sigma(z) = \frac{1}{1 + e^{-z}} $$
其中,$z$ 是输入数据的线性组合,$w$ 是权重,$b$ 是偏置。
Python 实现
以下是一个使用 Python 实现的 Logistic Regression 示例:
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))
# 训练数据
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
y = np.array([0, 0, 1, 1])
# 初始化权重和偏置
w = np.zeros(X.shape[1])
b = 0
# 学习率
learning_rate = 0.01
# 迭代次数
iterations = 1000
for i in range(iterations):
# 计算预测值
z = np.dot(X, w) + b
y_pred = sigmoid(z)
# 计算梯度
dw = (y - y_pred) * X
db = (y - y_pred)
# 更新权重和偏置
w -= learning_rate * dw
b -= learning_rate * db
# 打印结果
print("权重:", w)
print("偏置:", b)
扩展阅读
更多关于 Logistic Regression 的内容,可以参考以下链接:
图片展示
Logistic Regression