线性回归的基本概念:
线性回归是机器学习中最简单也最重要的模型之一。回归模型可以理解为一个点集,用一条曲线去拟合它的分布过程,如果拟合曲线是一条二次曲线,则称为二次回归。线性回归的拟合曲线相应的就是一条直线啦。
几个需要掌握的基本概念:假设函数,损失函数,优化算法。假设函数是指用数学方法描述自变量和因变量之间的关系。损失函数是用数学方法衡量假设函数预测结果与真实值之间的误差,越小越好。优化算法决定了一个模型的精度和运算速度,通过算法找到损失函数的最小值。
实例应用:波士顿房价。
第一步:获取数据后处理数据集,收集到真实的数据集后往往不能直接使用。
数据的前五行:
房屋面积 | 房屋价格 | |
---|---|---|
0 | 98.87 | 599.0 |
1 | 68.74 | 450.0 |
2 | 89.24 | 440.0 |
3 | 129.19 | 780.0 |
4 | 61.64 | 450.0 |
拿到一组数据后,第一步是处理数据类型不同的问题。如果各维属性中有离散值和连续 值, 就必须对离散值进行处理。离散值0,1,2等它们有较抽象的现实意义。
接下来进行归一化。归一化具有多种优势,一般都要进行这一操作,通过将所有数据减去均值再除以原数据范围实现。
将模型处理为可用数据后,还需要将模型分为两部分,训练集和预测集。更多的训练集会降低参数估计的方差,从而得到更可信的模型。更多的预测集会则会,降低误差的方差,得到更可信的测试误差。
第二步:模型概览
假设模型为 Y的估计=aX+b
对于回归模型最常见的损失函数为均方误差(Mean spuared error,mse)
定义好模型后,进行以下几个步骤:
1)初始化参数,包括权重a和偏置b
2)从当前开始计算模型输出值和损失函数
3)利用梯度下降的方法处理损失函数,在寻找损失函数的极小值过程中依次更新模型中的参数
4)重复2~3步骤,直到网络训练误差达到规定的程度或训练轮次达到设定值。
常见的深度学习框架:飞桨(百度) PyTorch(Facebook) CNTK(Microsoft)
TensorFlow(Google) MXNet(Amazon)