一 线性回归原理
如何实现线性回归?
主要的思想:熟悉目标函数,计算它们的梯度和优化目标参数集。
这些基础工具是后续复杂算法的基础。更多的关于线性回归的细节参考[Lecture Note],
线性回归的目标: 从输入向量值 $x\in\Re^{n}$ 预测目标值$y$。
例如,我们预测一座房子的价格,其中$y$表示房子的价格,$x$中的元素$x_{j}$表示描述房子的特征(像房子的大小和卧室的数目),
假设我们具有很多的房子的数据特征,其中第$i$个房子的特征用$x^{(i)}$表示,对应的价格用$y^{(i)}$表示。
对于这些数据,我们的目标是找到函数$y = h(x)$, 对于各个训练函数使$y^{(i)} \approx h(x^{(i)})$。
若我们成功找到这样的函数$h(x)$。且我们有足够的房子和对应的价格例子(即训练集),我们希望$h(x)$是一个非常好的预测器,对新的未知价格的房子(即测试集)进行价格预测。
为了找到函数使$y^{(i)} \approx h(x^{(i)})$, 首先需要决定如何表示函数$h(x)$,
开始我们使用线性函数:$h_{\theta}(x) = \sum_{\substack{j}}\theta_{j}x_{j} = \theta^{\top}x$,其中,$h_{\theta}x$表示选择不同的参数$\theta$的函数簇,我们的任务找到最优的$\theta$使$h_{\theta}(x^{(i)})$尽可能的与$y^{(i)}$相近。
即,找寻参数$\theta$使如下公式最小化
$J(\theta) = \frac{1}{2} \sum_{i}^{}(h_{\theta}(x^{(i)}) - y^{(i)}) ^2 = \frac{1}{2} \sum_{i}(\theta^{\top}x^{(i)} - y^{(i)})^2$