线性回归——模型简介
线性回归一般用于趋势预估等,如房价预测问题。其结构为:输入,计算,输出预测值。
线性回归——算法公式
函数表达式:
代价函数:
梯度:
线性回归——算法目标
通过给定训练集 X 及标签 y ,得到一组最优化θ,使得代价J(θ)最小。通过最小的θ,预测之后的数据趋势。
例如房价预测等。
给定:
- 训练集 X ∈R(m*n)
- 标签 y ∈R(m)
- 求得使J(θ)最小的 vector θ ∈R(n+1)
m:训练集样本数
n:特征数量
θ:优化参数
线性回归——使用简介
- 标签y,训练集X,特征数量为n
- 对于X,添加基础单元bias,使得Xo = 1 即X = [ones(m, 1) X]; ——为什么?(待解决)
- 完成costFunction 用于求J(θ) ——costFunction 貌似暂时没什么用,因为θ是通过梯度下降求的
- 完成梯度下降算法,求梯度 grad —— gradientDescent
gradientDescent:
predictions = X * theta;
sumGradients = sum(X .* (predictions - y));
theta = theta - alpha*(1/m)*sumGradients';
需要手动设置α,迭代次数
theta = gradientDescent(X, y, theta_init, alpha, iterations);
- 进行预测
以下矩阵[]为给定样本,用来进行预测。
predict1 = [1, 3.5] *theta;