吴恩达机器学习总结三:多变量线性回归

第五章 多变量线性回归
6、多变量回归方程
吴恩达机器学习总结三:多变量线性回归
矩阵形式:
吴恩达机器学习总结三:多变量线性回归
7、多变量梯度下降法:
吴恩达机器学习总结三:多变量线性回归
这里i表示第i种拟合曲线,因为对一个数据模型进行拟合时我们有很多种曲线作为备选方案,我们一直在做的就是找出其中与真实情况误差最小的曲线。所以先要指定某条拟合曲线,再由此确定它的参数,进而判断是不是最优的,这里的i就指假设拟合的是第i条曲线。下角标j表示拟合曲线的第j个属性,因为这里是多变量拟合,比如房价与地段、楼层、使用年限等都有关系,给定的每个样本都包含多个属性,这里的j就表示其中第j个属性。
8、特征缩放
当两个属性x(i)的取值范围相差特别大(几个数量级时),比如一个是0-1,另一个是1-10000,那么查找最优解的迭代过程会非常缓慢,因为不管是计算哪一个属性,用的都是下式:
吴恩达机器学习总结三:多变量线性回归
后边减去的部分就是控制某个属性迭代的快慢,其中
吴恩达机器学习总结三:多变量线性回归
在i确定即选定某一组样本时其实是一个常量,所以x(i)的取值范围相差几个数量级,变化率就相差几个数量级。而为了保证变化率保持在一个合适的区间(原因上一节讲过),就要求变化率最大的也一次变化不能太大,比如取值范围为1-10000的某个属性,其参数的变化速度必须在10以下,超过10就认为过大了,于是设置该式
吴恩达机器学习总结三:多变量线性回归
中的阿尔法值,使变化速度
吴恩达机器学习总结三:多变量线性回归
为10。因为除开x(i)外的部分是常量,所以对于
另一个x(j)取值范围为0-1,其变化速度只能是0.001这个级别,而实际是没必要的。解决方法是归一化,就是把大家统一到比如0-1,可以统一各个参数变化的步调,其实这个步调的数值大小没有任何影响,只要保证差不多合适就行,不要一下跳过了。归一化就是使各个属性均匀变化,因为归一化用的都是比例,比如1-1000一次跳10就认为变化合适,那1-100就跳一,按自己的步调变化,但大家比例相近,最后差不多时间完成。
9、归一化
归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系,也就是变成一种比例关系。
①线性归一化,也称min-max标准化、离差标准化;是对原始数据的线性变换,使得结果值映射到[0,1]之间。转换函数如下:
吴恩达机器学习总结三:多变量线性回归
这种归一化比较适用在数值较集中的情况。这种方法有一个缺陷,就是如果max和min不稳定的时候,很容易使得归一化的结果不稳定,影响后续使用效果。其实在实际应用中,我们一般用经验常量来替代max和min。
②标准差归一化,也叫Z-score标准化,这种方法给予原始数据的均值(mean,μ)和标准差(standard deviation,σ)进行数据的标准化。经过处理后的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:
吴恩达机器学习总结三:多变量线性回归
③非线性归一化,这种方法一般使用在数据分析比较大的场景,有些数值很大,有些很小,通过一些数学函数,将原始值进行映射。一般使用的函数包括log、指数、正切等,需要根据数据分布的具体情况来决定非线性函数的曲线。
10、对递归下降过程的检验判断:
吴恩达机器学习总结三:多变量线性回归
横轴是迭代次数,如果递归下降算法运行正常,则代价函数的值会一直下降。另外从400左右接*坦,可以判断什么时候收敛。因为迭代次数事先无法确定,比如可能200w次,从这个图的动态变化过程可以判断是否要收敛。
11、正规方程法:
吴恩达机器学习总结三:多变量线性回归
在线性回归中,正规方程法是比梯度下降更快的方法,但是不适用于样本属性特别多的场合,一般认为超过10000就要考虑使用梯度下降。另外在一些其他模型中,正规方程法也可能不适用。