人工智能基础 | 回归分析(四)

本文深入探讨了线性回归的基础概念,包括一元回归的数学公式和多元线性回归的矩阵表示。通过实例展示了如何不依赖深度学习框架,仅用数学公式实现一元回归。此外,介绍了线性回归的损失函数和优化方法,特别是梯度下降法,包括全梯度下降、随机梯度下降和小批量梯度下降。文中还提及了使用Sk-Learn库进行线性回归的API实践,并讨论了正则化线性模型,如岭回归、Lasso回归和弹性网络。最后,简要介绍了逻辑回归及其损失函数。
摘要由CSDN通过智能技术生成


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RNDWUsLE-1668351864196)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/公众号横幅-1.png)]

以下内容是在学习过程中的一些笔记,难免会有错误和纰漏的地方。如果造成任何困扰,很抱歉。

前言

回归,指研究一组随机变量 (Y1 ,Y2 ,…,Yi) 和另一组 (X1,X2,…,Xk) 变量之间关系的统计分析方法,回归分析是一种数学模型,当因变量和自变量为线性关系时,它是一种特殊的线性模型。

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jObYK71m-1668351864196)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/机器学习入门-线性回归模型公式-3.png)]

b为误差服从均值为0的正态分布,如果只有一个自变量的情况下就叫一元回归,如果有多个自变量的情况下就叫多元回归

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B3zlQut0-1668351864197)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/多元线性回归的简单公式-1.png)]

回归的目的是预测数组型的目标值,其应用范围有股票预测

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c7INm1n0-1668351864197)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/机器学习-股票预测示例样图-1.png)]

天气、PM2.5、温湿度预测等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYJ2OuZy-1668351864197)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/机器学习-天气预测示例样图-1.png)]

一、简单数学公式实现一元回归

不引用深度学习框架,通过简单的数学公式完成一元回归案例

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

np.random.seed(0)
area = 2.5 * np.random.randn(100) + 25
price = 25 * area + 5 + np.random.randint(20, 50, size=len(area))

data = np.array([area, price])
data = pd.DataFrame(data=data.T, columns=['area', 'price'])

# 绘图
# plt.scatter(data['area'], data['price'])
# plt.show()

W = sum(price * (area - np.mean(area))) / sum((area - np.mean(area)) ** 2)
b = np.mean(price) - W * np.mean(area)
# print("计算回归系数", W, b)

y_pred = W * area + b

# 绘图
plt.plot(area, y_pred, color='red', label="forecast")
plt.scatter(data['area'], data['price'], label="train")
plt.xlabel("areaX")
plt.ylabel("priceY")
plt.legend()
plt.show()

绘图输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ou2wqvTL-1668351864198)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/连续值预测-一元线性简单效果图-1.png)]

二、公式拆解

对于线性模型的定义公式为:f(x) = w0 + w1·x1 + w2·x2 + … + wn·xn

当通过矩阵表示时:f(x) = XW,W是根据要求得到的非输入式参数,X是输入的数据矩阵

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zb47VWUN-1668351864198)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/线性模型-W的矩阵-1.png)]

n代表一个数据有n个数据,m代表一共是m个数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLh4iytJ-1668351864198)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/线性模型-X的矩阵-1.png)]

那么数据集的数据矩阵为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OfYqkfFM-1668351864199)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/线性模型-Y的矩阵-1.png)]

线性回归模型的最终目标就是找到参数 W 来使得 f(x) = XW 尽可能无限贴近 Y

三、线性回归API初步使用

本期示例将通过Sk-Learn实现线性回归的API,首先我们重新回忆机器学习的五大基本流程

  1. 获取数据集
  2. 数据预处理
  3. 特征工程
  4. 模型训练/机器学习
  5. 模型评估及优化

通过该流程阅读如下代码

"""
    机器学习流程
    1.获取数据集
    2.数据处理
    3.特征工程
    4.机器学习
    5.模型评估
"""

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值