二、多变量线性回归

一些符号:

   m:训练集数量
   n:特征数目(输入维度)
   :训练样本中的第i个向量
   :训练样本中的第i个向量中的第j个元素
  模型参数
损失函数:
梯度下降:
                    其中
  假设函数:          若规定
                    
                                 X
       注意:一个特征未必就对应一个x。例如,对于特征size,假设函数可设为:
       

特征缩放:

      问题:若不同变量的取值范围差异很大,如 则损失函数关于二者的等高线图为(实际上比下图还要更狭长)


      如红线所示,梯度下降的方向反复振荡,收敛过程很慢
      解决:(归一化)      
          或:(平均归一化)      

代价随迭代次数降低的曲线图:

正常情况:



异常情况:



说明学习率过大,需要降低之。实际上,只要学习率足够小,J一定随迭代而下降
自动收敛测试:

       测试J在某次迭代的下降值,若小于,则认为已收敛。但实际上选择一个合适的比较困难,一般还是通过观察曲线图来判断是否收敛

正规方程(不用迭代,一次性求得 ):

方法一:对于每一个j,求方程组 的解
方法二:假设m=4

住房价格预测

则     
令,即得最优
matlab或octave中的代码为:pinv(x'*x)*x'y
其中x'表示x的转置;inv是求逆;pinv是求伪逆(广义逆)
pinv(A)函数返回一个与同型的矩阵X,并满足:
          AXA=A,XAX=X,AX和XA均为对称阵
计算机求矩阵逆的时间开销大致为,故当n较大时还是用梯度下降法。吴恩达在n<10000时用正规方程法

你可能感兴趣的:(二、多变量线性回归)