我正在寻找一种最快/最简单的解决方案来计算存储在数组中的一堆双点的回归。
我试图在 Accelerate 框架或教程中找到合适的功能,但没有运气。
有人做过吗?
我正在寻找一种最快/最简单的解决方案来计算存储在数组中的一堆双点的回归。
我试图在 Accelerate 框架或教程中找到合适的功能,但没有运气。
有人做过吗?
假设您已经知道模型的参数,您可以使用矩阵向量乘法来完成。线性回归是样本矩阵 X 与模型参数向量 Theta 的内积。
// Simple scenario for linear regression: Y = theta0 + theta1*X
int rows = 4;
int cols = 2;
double theta[] = {5.0, 2.0};
double x[] = {1.0, 10.0,
1.0, 20.0,
1.0, 30.0,
1.0, 40.0};
double y[rows];
// This is matrix-matrix multiplication function,
// but vector is just a matrix with one row/column.
vDSP_mmulD(x, 1, theta, 1, y, 1, rows, 1, cols);
NSLog(@"[%f, %f, %f, %f]", y[0], y[1], y[2], y[3]);
[25.000000, 45.000000, 65.000000, 85.000000]
有关更多详细信息,请阅读维基百科上的线性回归介绍