线性回归到底算不算是机器学习算法?
7个回答
比如用线性回归拟合工资$y$
$$y=200身高+100体重+500$$
如果模型中的回归系数200和100以及常数项500是根据最用平方误差对10000条数据拟合出来的,那么这就是机器学习。
如果模型中的系数是人为主观设定的,而不是通过优化算法从数据中学习到的,那就不是机器学习。
机器学习有时候更多体现在机器学习数据的过程,而非最终结果。
SofaSofa数据科学社区DS面试题库 DS面经当然算啊。
机器学习就是给定一个目标函数,可以从数据中训练出模型的参数。
线性回归符合上面的要求,所以当然是啊!
这个问题倒是挺有意思的。
如果一个机器学习工程师说他的日常工作就是搞各种线性回归,总感觉有点怪怪的,似乎不完全像个机器学习工程师或者算法工程师。
但是如果他又告诉你,他的线性回归都是上亿的数据量,上万的特征,为了提高计算性能,自己用scala实现了各种流行的优化算法。这么一听,感觉的确又算是机器学习。
那要看怎么用,机器学习的本质在于学习、训练与预测,通过对样本数据的模拟,更好地预测未知数据集
因此在机器学习中,线性回归算是一种算法,但是更多的是怎么求出更好的参数,来使得预测效果或者误差率更小;
在统计学、计量经济学中,线性回归更多的是来寻找变量x、y之间的关系,当然预测也是一个方面
是 线性回归正规矩阵解在train set特征与样本很大时求逆计算量很大,所以一般都用梯度下降 一步步将损失函数减小,这符合大部分ML算法的本质,值得一提的是深度学习这种超复杂模型原理也是梯度下降。
SofaSofa数据科学社区DS面试题库 DS面经机器学习要素是:人为设定数学模型(表示输入到输出的关系),目标函数(如何衡量模型输出的质量),学习策略(如何把目标函数的梯度负反馈到模型参数上)。其余学习过程由机器完成。对于线性回归,数学模型是线性模型,目标函数是MSE,学习策略可以是一步到位的最小二乘法,也可以是逐渐学习的梯度下降。深度学习中也是用反向传播(back propagation)把目标函数梯度反传到每个参数。
类比一下人学习过程:对一个英语单词大概有个初始映像(模型参数初值),对比词典知道错误(与目标的差),加强记忆错误的部分(反向学习)。
SofaSofa数据科学社区DS面试题库 DS面经