Logistic Regression

简介: 机器学习中的逻辑回归(Logistic Regression)是一种用于解决分类问题的线性模型。它通过拟合一条直线(或平面),将输入变量与输出变量(通常为二值变量,如 0 或 1)之间的关系表示出来。

机器学习中的逻辑回归(Logistic Regression)是一种用于解决分类问题的线性模型。它通过拟合一条直线(或平面),将输入变量与输出变量(通常为二值变量,如 0 或 1)之间的关系表示出来。逻辑回归模型的基本形式如下:
y = sigmoid(wx + b)
其中,y 是输出变量,x1, x2,..., xn 是输入变量,w1, w2,..., wn 是需要学习的权重,b 是偏差。sigmoid 函数是逻辑回归的核心,它将线性模型的输出转换为二值输出(0 或 1)。
逻辑回归的主要优点是它可以处理连续输入变量和二值输出变量之间的关系。这使得它在许多实际应用场景中具有很好的表现,例如广告投放效果预测、信用风险评估、疾病诊断等。
要使用逻辑回归模型,可以按照以下步骤进行:

  1. 收集数据:收集包含输入变量和输出变量的数据集。这些数据可以是实验室测量值、历史数据或现实世界中的观测值。
  2. 数据预处理:处理数据中的异常值、缺失值,并将连续变量标准化(例如归一化)以提高模型性能。
  3. 划分数据集:将数据集划分为训练集和测试集。训练集用于训练模型,而测试集用于评估模型性能。
  4. 训练模型:使用训练集数据,通过最小化代价函数(如均方误差,MSE)来调整模型参数(权重和偏差)。
  5. 评估模型:使用测试集数据,评估模型的性能。如果性能不佳,可以调整学习率、迭代次数等超参数,或尝试使用其他模型。
  6. 应用模型:将训练好的模型应用于新数据,进行预测。
    总之,逻辑回归是一种用于解决分类问题的线性模型,通过拟合一条直线(或平面),将输入变量与输出变量之间的关系表示出来。通过收集数据、预处理数据、划分数据集、训练模型、评估模型和应用模型等步骤,我们可以使用逻辑回归模型来预测连续值和解决分类问题。


Polynomial regression
Import the relevant libraries and initialize the hyper-parameters

%matplotlib inline
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

learning_rate = 0.01
training_epochs = 40
Set up some fake raw input data

trX = np.linspace(-1, 1, 101)
Set up raw output data based on a degree 6 polynomial

num_coeffs = 6
trY_coeffs = [1, 2, 3, 4, 5, 6]
trY = 0
for i in range(num_coeffs):
    trY += trY_coeffs[i] * np.power(trX, i)
Add some noise

trY += np.random.randn(*trX.shape) * 1.5
Plot the raw data

plt.scatter(trX, trY)
plt.show()

Define the nodes to hold values for input/output pairs

X = tf.placeholder("float")
Y = tf.placeholder("float")
Define our polynomial model

def model(X, w):
    terms = []
    for i in range(num_coeffs):
        term = tf.multiply(w[i], tf.pow(X, i))
        terms.append(term)
    return tf.add_n(terms)
Set up the parameter vector to all zero

w = tf.Variable([0.] * num_coeffs, name="parameters")
y_model = model(X, w)
Define the cost function just as before

cost = tf.reduce_sum(tf.square(Y-y_model))
train_op = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
Set up the session and run the learning algorithm just as before

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

for epoch in range(training_epochs):
    for (x, y) in zip(trX, trY):
        sess.run(train_op, feed_dict={X: x, Y: y})

w_val = sess.run(w)
print(w_val)
[ 1.10158885  2.36433625  3.30378437  4.43473864  3.75751448  4.60356045]
Close the session when done

sess.close()
Plot the result

plt.scatter(trX, trY)
trY2 = 0
for i in range(num_coeffs):
    trY2 += w_val[i] * np.power(trX, i)
plt.plot(trX, trY2, 'r')
plt.show()
目录
相关文章
|
4月前
|
算法
logistic算法
logistic算法
54 0
|
机器学习/深度学习 数据挖掘 PyTorch
Logistic Regression 逻辑斯蒂回归
Logistic Regression 逻辑斯蒂回归
151 0
|
3月前
|
存储 算法 Serverless
Regression算法
Regression算法
61 2
|
3月前
|
机器学习/深度学习 算法 索引
Logistic算法
Logistic算法
37 2
|
4月前
|
机器学习/深度学习 算法
逻辑回归(Logistic Regression)详解
逻辑回归(Logistic Regression)详解
22 0
|
机器学习/深度学习 数据采集
2D Logistic Regression
2D Logistic Regression 是一种用于解决二分类问题的机器学习模型,它是 Logistic Regression 在多维空间中的扩展。在 2D Logistic Regression 中,我们使用一个二维平面(或多维空间中的超平面)来将不同类别的数据分开。
75 1
|
机器学习/深度学习 算法 API
逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression)是一种用于解决分类问题的统计学习方法。它是一种广义线性模型,用于估计二分类问题中的概率。
139 2
|
机器学习/深度学习 算法 PyTorch
Softmax回归(Softmax Regression)
Softmax回归(Softmax Regression),也称为多类别逻辑回归或多项式回归,是一种用于解决多类别分类问题的统计学习方法。它是逻辑回归在多类别情况下的扩展。
227 3
|
机器学习/深度学习 PyTorch 算法框架/工具
深入理解二分类和多分类CrossEntropy Loss和Focal Loss
多分类交叉熵就是对二分类交叉熵的扩展,在计算公式中和二分类稍微有些许区别,但是还是比较容易理解
1269 0
|
机器学习/深度学习 算法 Python
机器学习算法之——逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。
机器学习算法之——逻辑回归(Logistic Regression)