线性回归算法作为机器学习的入门算法就像高级语言的hello wold,线性回归算法是一种有监督的算法,有监督和无监督简单来说就是:
1、有监督即表示对于一个训练样本,我们知道输入和输出,并且可以根据输入输出来训练模型,比如:我有一个抽样统计的全国大学生身高和体重的数据,那么根据身高来预测体重的模型就属于有监督模型,因为训练数据中有身高和体重的对应关系,根据这个对应关系我们在训练模型的过程能直接给提供反馈,让模型知道他预测的准不准。常见的有监督模型:LR、KNN、SVM等
2、无监督,我们只有输入的数据没有输出数据,换句话说,对于结果是什么样,我们也不知道。典型的模型就是多属性的聚类分析,在聚类之前我们是不知道数据集中有多少类,这时候就需要用无监督的模型进行预测。常用的无监督模型:K-mearn、PCA等
线性回归的函数表达式比较简单:
其中θ表示的是回归函数参数,我们可以通过样本数据训练模型来得到这个参数。
X1,X2表示的是特征值,在现实中表示的是有多少特征与对预测结果有关,比如对于预测体重的回归模型,年龄,身高,性别对结果有影响,那么这三个属性就是特征值。
那么对于给定的训练数据我们如何确定参数θ 呢?简单来说,由于我们知道训练数据的输入和输出,所以对于参数θ是否选择合适,我们可以把拟合的结果和训练数据的结果相比较就知道参数θ是否选择恰当。这里我们使用代价函数(cost function)也有叫损失函数(loss function)或者 误差函数(error function)来进行结果的量化: