伴序网 > 杂谈 > 正文

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

2023-12-31 18:23 来源:网络 点击:

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

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

什么是线性回归?

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

如何定义模型?

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

线性回归方程公式如下:

Y = wX + b

其中

X

是自变量,

Y

是因变量。

w

是系数,b是偏差。

计算损失函数

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

线性回归最常用的损失函数是

最小平方误差

,它的成本函数也称为

均方误差(MSE)

。均方误差的公式为:

其中

n

是数据点的数量,

y

是模型返回的值,

ŷ

是数据点的实际值

如何优化回归模型?

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

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

实施模型

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

# Making the importsimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt
plt.rcParams['figure.figsize'] = (12.0,9.0)
# Preprocessing Inputdatadata= pd.read_csv('data.csv')
X =data.iloc[:,0]
Y =data.iloc[:,1]
plt.scatter(X, Y)
plt.show()

# Building the modelm=0c=0L=0.0001# The learning Rateepochs=1000# The number of iterations to perform gradient descentn=float(len(X))# Number of elements in X# Performing Gradient Descentforiinrange(epochs):Y_pred=m*X+c# The current predicted value of YD_m=(-2/n)*sum(X*(Y-Y_pred))# Derivative wrt mD_c=(-2/n)*sum(Y-Y_pred)# Derivative wrt cm=m-L*D_m# Update mc=c-L*D_c# Update cprint(m,c)
1.47964916888893950.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()