首页 生活百科 美食推荐 汽车百科 星座运势 旅游攻略 数码科技 教育资讯 宠物知识 养花知识 健康知识 周公解梦 热门影视 消费指南
当前位置: 首页 > 生活百科 >

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

773次浏览     发布时间:2022-11-23 21:42:17    
在这篇文章中,你将了解线性回归算法、它的工作原理,以及如何在机器学习项目中更好地运用它。

什么是线性回归?

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

如何定义模型?

线性回归的执行是基于给定的自变量 (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()

相关文章
辣酱怎么做 ?做了50年的辣椒酱配方毫无保留地告诉你,夹馍拌面都香
2024-11-23 09:33:03
意大利顶级名贵跑车兰博基尼是哪个国家的
2024-11-23 09:18:27
焖刀鱼的做法分享给你,这样做出来更好吃
2024-11-23 09:03:37
生蚝肉的做法家常分享,高钙高蛋白,味道很是鲜美
2024-11-23 08:48:53
学会生蚝蒜蓉酱的制作方法 ,按这个方子做,比外边卖的还好吃
2024-11-23 08:33:54
哪个血型最招蚊子 ?这跟血型无关
2024-11-23 08:19:19