多变量线性回归问题

2020-01-21  本文已影响0人  爱吃鱼的夏侯莲子

房价的例子,当只有一个特征变量时,线性回归的预测函数:
h_\theta(x) = \theta_0 + \theta_1x

现在有了多个特征变量:

尺寸x_1 房间数x_2 房屋年份x_3 价格y
2104 5 45 460
1416 3 40 232
1534 3 30 315
852 2 36 178
... ... ... ...

上面的图表展示了多个和房屋价格相关的变量。

下面定义一些变量

上面的表格中
m=4
n=3
x^{(2)}=\left[ \begin{matrix} 1416 \\\ 3 \\\ 40 \\\ \cdots \end{matrix} \right]
x_3^{(2)}=40

在多变量条件下,预测函数为
h_\theta(x)= \theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n

为了方便,我们自定义一个变量x_0=1

预测函数即为:
h_\theta(x)= \theta_0x_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n

用向量的方式定义 x\theta

x=\left[ \begin{matrix} x_0 \\\ x_1 \\\ x_2 \\\ \cdots \\\ x_n \end{matrix} \right], \theta=\left[ \begin{matrix} \theta_0 \\\ \theta_1 \\\ \theta_2 \\\ \cdots \\\ \theta_n \end{matrix} \right]

用向量的方式表示预测函数:

h_\theta(x) = \left[ \begin{matrix} \theta_0 & \theta_1 & \cdots & \theta_n \end{matrix} \right] \left[ \begin{matrix} x_0 \\\ x_1 \\\ \cdots \\\ x_n \end{matrix} \right] = \theta^Tx

用梯度算法来解决这个问题。

重复直到J(\theta)收敛 {
\theta_j:=\theta_j - \alpha \frac{1}{m} \sum_{i=0}^m((h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}), j \epsilon \left(0, 1, 2,...,n\right)
}

比如说:
\theta_0:=\theta_0 - \alpha \frac{1}{m} \sum_{i=0}^m((h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}),
\theta_1:=\theta_1 - \alpha \frac{1}{m} \sum_{i=0}^m((h_\theta(x^{(i)})-y^{(i)})x_1^{(i)}),
\theta_2:=\theta_2 - \alpha \frac{1}{m} \sum_{i=0}^m((h_\theta(x^{(i)})-y^{(i)})x_2^{(i)}),
...

重复上面的下降知道代价函数收敛。这就是梯度下降的算法过程。

转载自:
https://codeeper.com/2020/01/03/tech/machine_learning/multiple_features_for_linear_regression.html

上一篇 下一篇

猜你喜欢

热点阅读