线性回归方程公式详解(全面认识线性回归)

在这篇文章中,你将了解线性回归算法、它的工作原理,以及如何在机器学习项目中更好地运用它。

什么是线性回归?

线性回归是一种基于监督学习的机器学习算法,它执行回归任务。回归基于自变量对目标预测值进行建模,它主要用于找出和预测变量之间的关系。不同的回归模型基于他们正在考虑的因变量和自变量之间的关系类型以及使用的自变量数量而异。

如何定义模型?

线性回归的执行是基于给定的自变量 (x) 预测因变量值 (y) 的任务。

线性回归方程公式如下:

Y = wX + b

其中X是自变量,Y是因变量。w是系数,b是偏差。

计算损失函数

损失函数是均方误差方程。对于监督学习,模型通过找到最小化成本函数的最优系数来优化。成本函数使用损失函数计算的每个数据点的损失总和。

线性回归最常用的损失函数是最小平方误差,它的成本函数也称为均方误差(MSE)。均方误差的公式为:

线性回归方程公式详解(全面认识线性回归)

其中n是数据点的数量,y是模型返回的值,ŷ是数据点的实际值

如何优化回归模型?

梯度下降是一种寻找损失函数的迭代优化算法。当函数达到全局最小值时,它将具有最佳的 w 和 b 值。

梯度下降是一种用于寻找可微函数的局部最小值的优化算法。梯度下降简单地用于机器学习中,以找到尽可能使成本函数最小化的函数参数(系数)值。

线性回归方程公式详解(全面认识线性回归)

实施模型

现在将上面的所有内容都转换为代码,看看我们的模型是如何运行的。

# Making the imports
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (12.0, 9.0)


# Preprocessing Input data
data = pd.read_csv('data.csv')
X = data.iloc[:, 0]
Y = data.iloc[:, 1]
plt.scatter(X, Y)
plt.show()
线性回归方程公式详解(全面认识线性回归)

# Building the model
m = 0
c = 0


L = 0.0001  # The learning Rate
epochs = 1000  # The number of iterations to perform gradient descent


n = float(len(X)) # Number of elements in X


# Performing Gradient Descent 
for i in range(epochs): 
    Y_pred = m*X + c  # The current predicted value of Y
    D_m = (-2/n) * sum(X * (Y - Y_pred))  # Derivative wrt m
    D_c = (-2/n) * sum(Y - Y_pred)  # Derivative wrt c
    m = m - L * D_m  # Update m
    c = c - L * D_c  # Update c
    
print (m, c)
1.4796491688889395 0.10148121494753726 
#(m = w et c = b)
# Making predictions
Y_pred = m*X + c


plt.scatter(X, Y) 
plt.plot([min(X), max(X)], [min(Y_pred), max(Y_pred)], color='red')  # regression line
plt.show()
线性回归方程公式详解(全面认识线性回归)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 87868862@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注