回归算法与机器学习

主要内容

“本文对回归算法及应用进行总结,包括概念理解、原理推导及问题求解。”

部分推导图片参考: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数据集

(二)推导流程:

(三)代码:

(四)训练代价变化曲线

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723G1VZU500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券