ToB企服应用市场:ToB评测及商务社交产业平台

标题: 2024-11-18 学习人工智能的Day28 线性回归 [打印本页]

作者: 汕尾海湾    时间: 2024-11-19 08:41
标题: 2024-11-18 学习人工智能的Day28 线性回归
线性回归

线性回归是统计学和机器学习中的一种根本猜测模子,用于分析和建模目的变量(连续型数据)与一个或多个自变量(解释变量)之间的关系。
线性回归概述

线性回归模子假设目的变量 y 与自变量 X 之间存在线性关系。这种关系可以用以下公式表示:
                                         y                            =                                       β                               0                                      +                                       β                               1                                                 X                               1                                      +                                       β                               2                                                 X                               2                                      +                            …                            +                                       β                               n                                                 X                               n                                      +                            ϵ                                  y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_n X_n + \epsilon                     y=β0​+β1​X1​+β2​X2​+…+βn​Xn​+ϵ
此中:

线性回归范例

损失函数

线性回归通常使用最小二乘法来估计模子参数,即最小化现实观测值和模子猜测值之间的平方差之和。损失函数定义为:
                                         MSE                            =                                       1                               n                                                 ∑                                           i                                  =                                  1                                          n                                      (                                       y                               i                                      −                                                   y                                  ^                                          i                                                 )                               2                                            \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2                     MSE=n1​i=1∑n​(yi​−y^​i​)2
此中:

参数估计

最小二乘法通过求解以下方程来估计参数:
                                                                ∂                                  MSE                                                      ∂                                               β                                     j                                                             =                            0                                  \frac{\partial \text{MSE}}{\partial \beta_j} = 0                     ∂βj​∂MSE​=0
这通常通过矩阵运算实现:
                                                    β                               ^                                      =                            (                                       X                               T                                      X                                       )                                           −                                  1                                                            X                               T                                      y                                  \hat{\beta} = (X^T X)^{-1} X^T y                     β^​=(XTX)−1XTy
此中:

梯度下降法

梯度下降是一种优化算法,用于最小化损失函数。在每次迭代中,参数按照梯度的反方向更新:
                                                    β                                           (                                  t                                  +                                  1                                  )                                                 =                                       β                                           (                                  t                                  )                                                 −                            α                                       ∇                               β                                      MSE                            (                                       β                                           (                                  t                                  )                                                 )                                  \beta^{(t+1)} = \beta^{(t)} - \alpha \nabla_\beta \text{MSE}(\beta^{(t)})                     β(t+1)=β(t)−α∇β​MSE(β(t))
此中:

正则化

为了防止过拟合,线性回归模子可以参加正则化项,如岭回归(L2正则化)和Lasso回归(L1正则化):

此中 λ 是正则化强度参数。
应用

线性回归广泛应用于各种猜测任务,如房价猜测、股票价格分析、销售猜测等。尽管线性回归模子简单,但它提供了对数据关系的根本理解,而且可以作为更复杂模子的基准。
线性回归模子的实现和应用通常依赖于统计软件或机器学习库,如Python的scikit-learn库,它提供了简单而强大的接口来练习和评估线性回归模子。
末了先容一下sklearn库中的接口
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. w = np.linspace(-10,20,100)
  4. # print(w)
  5. def loss(w):
  6.      return (w-3.5)**2-4.5*w+10
  7. def dloss(w):
  8.     return 2*(w-3.5)-4.5
  9. plt.plot(w,loss(w)) # 当该直线与x轴相交,表示损失为0,拟合曲线与所有已知点重合,
  10. # 且该曲线无法出现小于0的值,因为该曲线是由均方误差算的
  11. # 梯度下降
  12. # 学习率
  13. learning_rate = 0.01
  14. # 初始化一个w值
  15. np.random.seed(1)
  16. w = np.random.randint(-10,20) # 随机给一个w值:-5
  17. e = loss(w) # 初始化的w为-5时的loss值
  18. x = [w]
  19. y = [e]
  20. # 用循环来多级下降
  21. for i in range(100):
  22.     w = w-learning_rate*dloss(w)
  23.     e = loss(w)
  24.     x.append(w)
  25.     y.append(e)
  26.    
  27. # 单次下降
  28. # # 第一次梯度下降
  29. # w = w-learning_rate*dloss(w)
  30. # e = loss(w)
  31. # x.append(w)
  32. # y.append(e)
  33. # # 第二次梯度下降
  34. # w = w-learning_rate*dloss(w)
  35. # e = loss(w)
  36. # x.append(w)
  37. # y.append(e)
  38. # # 第三次
  39. # w = w-learning_rate*dloss(w)
  40. # e = loss(w)
  41. # x.append(w)
  42. # y.append(e)
  43. plt.scatter(x,y)
  44. plt.show()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4