主要内容
“本文对回归算法及应用进行总结,包括概念理解、原理推导及问题求解。”
部分推导图片参考:python数据分析与机器学习实战
回归,区别于分类,是机器学习领域的一组相对概念。回归,是得到连续的结果;分类是为了得到离散的类别标签。决策树的ID3和C4.5在这个概念上的区分最明显。
案例:银行的贷款批准额度评估。比如要通过客户工资和年龄,评估客户的可借额度,这就是回归,因为额度是若干连续值中的某个;而如果预测的结果是可借或不可借两种状态,则是分类。
一、回归分析的误差分析
左边公式中θX表示预测值,y表示真实标签(ground truth),ε表示预测真实值与预测值之间的误差(假设ε独立同分布,服从N(0,θ**2))。自然地,ε就成为估计回归拟合模型效果的最佳指标,这也是最小二乘法的来源。
这里依据误差分布为标准正态分布的假设,然后用最大似然概率估计。为什么是最大似然,这里可以这样理解。最合适的θ参数,应该保证其与x组合之后最接近真实的y值,即概率连乘应最大。
仔细瞧好!经过似然概率取对数,出现了最小二乘原型哈!
接下来就是对θ求导了,这里需要一些矩阵相乘和矩阵求导的基础知识,感兴趣的朋友可以查阅下矩阵论的书。
这样,最合适的θ参数计算公式就可以通过观测值和ground truth表示出来了。over!
二、实现简单的线性回归代码
注意:代码中的X=train.data[:,np.newaxis,2]是为了在仅使用其中一个维度用于作图的同时,能够保证前面insert(X,0,1,axis=1)操作不会报错。因为没有np.newaxis的话,只有一个维度axis=0,不存在axis=1。
三、逻辑回归
一般线性回归的到分类的进化。以下是先变换,再用似然概率估计的过程:
对似然概率取对数:
问题来了,上述公式是找不到合适的θ使偏导为0的,因而得换一种方式来找到最佳θ。这时,就用到了常说的梯度下降法(Gradient Descent)。
四、Gradient Descent梯度下降法求回归参数
(一)案例数据形式:
sklearn包中的iris数据集
(二)推导流程:
(三)代码:
(四)训练代价变化曲线
领取专属 10元无门槛券
私享最新 技术干货