机器学习中的线性回归与统计模型之间的区别

机器算法验证 机器学习 火花mllib
2022-03-30 03:57:04

我的理解是机器学习和统计模型之间的主要区别在于,后者“假设”某种类型的数据分布并基于我们获得的不同模型范式以及统计结果(例如 p 值、F 统计, t-stat 等)。但在机器学习的情况下,我们不关心数据的分布,而是对预测更感兴趣。

当我浏览 Mllib 文档时,我发现对于线性回归,我们正在指定一个分布。但是 Mllib 是一个机器学习包。所以,我有以下问题:

1)我对机器学习和统计方法的理解是错误的吗?

2) spark 是否使用线性回归和 GLM 的统计建模?

谢谢!

注意:关于机器学习和统计方法之间的区别有很多精彩的帖子。但这更多与 spark MLLIB 有关。

1个回答
  1. 不幸的是,你描述的二分法是无效的。ML 模型(几乎总是)定义响应分布。例如,极受欢迎的梯度提升机器库 XGBoost 定义了特定的学习目标(例如线性、逻辑、泊松、考克斯等)。
  2. Spark 的 MLlib线性回归和 GLM的实现绝对基于线性模型的标准统计理论。例如,直接引用pyspark/mllib/regression.pyLinearRegressionWithSGD评论:Train a linear regression model using Stochastic Gradient Descent (SGD). This solves the least squares regression formulation f(weights) = 1/(2n) ||A weights - y||^2 which is the mean squared error.即这是用于高斯响应的标准线性回归算法。特定算法的实现可能会被优化,使其适用于非常大的数据集(例如,参见这个优秀的线程“当有封闭形式的数学解决方案可用时,为什么使用梯度下降进行线性回归? ”)但是背后的理论一个算法是完全一样的。