线性回归概述
线性回归是回归算法是一种监督学习算法,用来建立自变量X和观测变量Y之间的映射关系。
线性回归实例
问题概述
根据数据集预测房子大小与房价之间的关系。
目标1:推测出房子大小与房价之间的关系
本题中:X即房子大小(横轴为房子大小)
Y即房价(纵轴为房价)
预设函数
设房价大小与房价之间的函数关系为:hθ(x)=θ0+θ1x
目标2:使得预设函数与真实数据尽可能的吻合。
θ0与θ1均为预设函数的参数
代价函数
要使得预设函数与真实数据尽可能的吻合,就需要将预设函数与真实数据的误差减到最小,由此可定义如下函数。
目标3:使得代价函数尽可能的小。
梯度下降算法
要使代价函数最小,就需要选定恰当的θ0和θ1的值,而梯度下降就是解决该问题的一种算法,他主要是利用代价函数凸函数的性质,利用如下的公式对θ0和θ1进行不断地更新,从而找到最优解。
其原理在于选定一个恰当的学习速率,让函数一步步的找到最优解,其中学习速率过大和过小都会对算法造成影响,进行梯度下降的次数也会对算法的准确率造成影响。
目标4:选定合适的学习速率a和进行梯度算法的次数。
读者可以将θ0假设为0进行推演
学习速率和算法次数的选择
学习速率可以从0.0001,0.001,0.01,0.1进行选取,之后再以其他的倍数比如0.0004,0.004.0.04,0.4进行选取。
算法次数相对来说可以设置较大的数值。
其中,在进行两者的选取时一定要确保梯度下降算法是正常工作的,而梯度下降正常工作的表现有如下两点:
- 代价函数随着算法次数的增加而减少。
- 当算法次数大到一定值时,代价函数的变化越来越平坦。
线性回归总结
线性回归是机器学习中最基础的算法,线性回归主要是根据输入输出变量的不同类型,对预测任务给予不同的名称,且输入变量与输出变量均为连续变量,如果将矩阵利用到线性回归算法中,会变得更有效率。