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

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

752次浏览     发布时间: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()

相关文章
职工思想动态分析报告怎么写(国企一线青年员工思想动态分析报告)
2024-05-01 21:56:56
显卡坏了会出现什么情况(造成显卡故障的一些原因及故障诊断方法)
2024-05-01 21:46:59
好玩单机游戏推荐(这14款单机游戏大作最值得奉为神作)
2024-05-01 21:38:26
认购和申购的区别是什么
2024-05-01 21:26:10
花中之王是什么花(牡丹文化起源于哪里呢?)
2024-05-01 21:18:58
胆大包天是什么意思
2024-05-01 21:07:00