4.1 多维特征
房价模型(多特征:如楼层数,房间数,年代)模型特征表示为
n特征数量,下标j表示第j个特征,上标i表示第i个样本(实例)
特征矩阵,1行表示 1个样本,是一个向量;1列表示1个特征的所有值
x(i,j)表示第i个样本的第j个特征。
假设函数h是参数Q和特征的多项式(每个特征本身是一个向量)
4.2 多变量梯度下降
代价函数
类似单变量批量梯度下降
批量梯度下降直到收敛,得到一系列参数值。然后求出代价函数
def computeCost(X, y, theta):
inner = np.power(((X * theta.T) - y), 2)
return np.sum(inner) / (2 * len(X))
4.3 梯度下降法实践1-特征缩放
多维特征问题,保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛(归一化)
个人理解(是因为学习率是一个值对应所有特征参数,如果不归一化,收敛会比较慢)
对应到等高图,就是图像特别扁,收敛慢。归一化后,更容易收敛
4.4 梯度下降法实践2-学习率
梯度下降算法的每次迭代受到学习率的影响
4.5 特征和多项式回归
线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型或者三次方模型,通常我们需要先观察数据然后再决定准备尝试怎样的模型
4.6 正规方程
对于某些线性回归问题,正规方程方法是更好的解决方案
个人理解:代价函数表示为矩阵相乘的形式,并对矩阵求导,当倒数为0时,求得正规方程的解。求导需要熟悉矩阵得求导规则
推导过程可参考下一节或者https://www.jianshu.com/p/2b6633bd4d47
注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺为单位的尺寸和米为单位的尺寸两个特征,也有可能是特征数量大于训练集的数量),正规方程方法是不能用的
(行数要大于等于列数)