监督学习 - 线性回归

简介: 一、预测线性模型二、线性回归的定义三、例题四、尝试线性回归@参数服务器

监督学习 - 线性回归

 

内容介绍

一、预测线性模型

二、线性回归的定义

三、例题

四、尝试线性回归@参数服务器

 

 

一、预测线性模型


线性回归:预测电量的使用,收集一段时间使用温度和电量使用数据做预测线性模型,数据如下:

High Temperature(F)        Peak Demand(GW)

76.7                         1.89

72.7                         1.92

71.5                         1.96

86.0                         2.43

90.0                         2.69

87.7                         2.50

…                           ..

二维坐标轴打印结果为:

image.png

如图趋向一条直线,分析可得温度和需求间存在线性关系,假设温度和需求间存在线性关系,关系的衡量Peak demand由θ1+θ2决定,然后可以根据对明天高温的预测,通过插入模型来预测明天的电量的峰值需求。二维关系等价于在图上画一条直线来穿过一些数据,尽可能穿过多的数据减小误差,蓝色打叉数据称为观察数据,红色的一条称为Linear regression模型。如果不是二维数据,如多维数组做预测的话,Linear regression会变成一个超平面,此时就是希望所有的点尽可能多的贴近平面。

 

 

二、线性回归的定义


首先会有输入特征一个n维的xx(i) Rn,i=1,.., m

输出y值:y(i)Rn(regression task)xy组成的队则称为样本example,整个xy联合起来称为data,模型参数称为θ向量,θ∈ Rn,希望x和θ通过线性组合的关系组合起来,数学上就是x和θ的累积,其实就是把他们对应的向量相乘后再相加。


Hypothesis function:hθ(x): RnR,e.g. linear

regression: hθ=xTθ=ni=1xiθi


  • 如何衡量一个假设在训练数据上的“好”程度?

通常通过引入损失函数来实现:lossR*RR +

得到h是否足够接近y,如果h非常接近y那么,希望loos输出一个非常小的值,如果hy比较远则希望loss输出一个非常大的值,对线性回归而言,平方误差squared loss l(hθ(x),y)=(hθ(x)-y)²


  • 典型的机器学习问题:给定一组输入特征和输出

x(i)y(i)),i=1..

求一个假设函数hθ(x)求参数θ使损失总和最小化:

minimizeθ ni=1l(hθx(i), y(i))2

对于具体的机器学习算法都可以通过上面的算法描述,只是要指明具体的假设loss function是什么,怎么去解决loss function最小化的问题,一般是通过迭代梯图下降去解决问题。回归电力需求预测。

假设级就是hθ=xTθ=ni=1xiθi,求解优化问题就是平方损失函数l(hθ(x),y)=(hθ(x)-y)²,通过Gradescent descent解决最优化问题,这个迭代公式也不是很复杂,因为要最小化θ,那么就对θ求导,得到

θ<—θ—α∑ni=1 x(i)( x(i)Tθ- y(i))

image.png

随着θ的迭代,loss function会呈现逐渐下降的趋势。最后在某种程度上,我们判定这个迭代已经收敛,此时的θ值就是我们所求的值。

 

假定yx有假设级,y=hθ(x)+ε,符合高斯噪声ε分布

image.png

X和θ一旦给定,y的概率得出就比较简单,只要带入,就可以得到以上的公式。


从最大斯然里面所有的样本都是独立分布的,将m个样本联合起来得到下图中的公式一,最大化出现概率带入得到:

minimizeθ ni=1l(hθx(i), y(i))2

会发现,和之前的squared loss天然相等,所以从另一个维度上squared loss的概率上的定义来看符合人整体上的认知。

image.png

 

三、例题

考虑使用假设H(x)=Wx,是符合线性回归的特性。预测客户X的信用额度。下面的特征在该任务的一个好假设中应该具有的正权重?

A.birth month  B.monthly income  C.current debt  D.number of credit cards owned

正确答案:B

具体通过代码计算:

根据如下的梯度公式:

image.png

核心代码,

def gradient_ descent(X, ytheta, alpha, num_ iters) :

m=y.size

J_ history = zeros (shape=(num_iters, 1))

for I in range (num iters) :

predictions = X.dot (theta . flatten()

errors_ x1 = (predictions - y)x[:0]

errors_x2 =(predictions - y)x[:1]

theta[0][0] = theta[0][0] -alpha(1.0 / m)errors_ x1. sum ()

theta[1][0] = theta[1][0] - alpha * (1.0 / m)errors_ x2. sum ()

J_history[I,0]=compute_cost(X,y,theta)

return theta, J_ history

结果第五轮开始收敛,完全收敛时如图:

image.png

可以从图中看到,图中红线体现出数据整体的温度和电量下降趋势。

通过梯度下降求出的解从理论和实践上都符合需要和需求。

 

四、尝试线性回归@参数服务器

http//gitlab.alibaba-inc.comjunzhouun/ml-base/wikis/linear-regression-data下载数据,样本如下:

+---------+------+

| features | label |

15.9946,-1.0828,0.0762203,0.227703,0.419829,0.803954,-0.537721,-2.04108,-2.19316,1.85648,-2.97,0.129854,-3.73528,1.46632,0.754683,2.59952,-2.57427,3.48927,1.50397 ,0.40474,3.09598,-1. 80781, 0.25079,-1.67974,-0.735975,-7.01959,-3.31852 , 4.31049,-3.01916,2.27159,0.943873 ,0.7022580.1596,-2.39966,-2.56309,1.27655,-3.7098,-1.34109,-1.70737,2.11588,2.17938,2.96074,-0.704996,-1.57381,807,0.594809,-2.97382 ,2.77556,-3.57479,3.11177,3.93067110

http//gitlab.alibaba-inc.comjunzhouun/ml-base/wikis/linear-regression的说明,在d2.alibaba-inc.comODPS console等进行调用

使用命令类似∶param_server-iqing_testso_float-o cq_lr_out -a OptiOwlqn.,快速收敛,得到模型

 

 

相关文章
|
7月前
|
算法 小程序 TensorFlow
垃圾分类算法
垃圾分类算法
156 0
|
机器学习/深度学习 算法 API
机器学习算法之线性回归
机器学习算法之线性回归
|
机器学习/深度学习 算法
机器学习算法之逻辑回归
机器学习算法之逻辑回归
|
10天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
WK
|
3月前
|
机器学习/深度学习 算法 数据挖掘
什么是逻辑回归分类器
逻辑回归分类器是一种广泛应用于二分类问题的统计方法,它基于线性组合并通过Sigmoid函数将输出映射为概率值进行分类。核心原理包括:线性组合假设函数、Sigmoid函数转换及基于概率阈值的预测。该模型计算高效、解释性强且鲁棒性好,适用于信用评估、医疗诊断、舆情分析和电商推荐等多种场景。利用现有机器学习库如scikit-learn可简化其实现过程。
WK
35 1
|
机器学习/深度学习 算法
机器学习算法——线性回归
最近一直在学机器学习,但感觉学习效率低,理解不深入,所以想通过写博客总结来加深自己的理解,写一下我的理解过程, 也希望能帮到其他人。
55 0
|
5月前
|
机器学习/深度学习
逻辑回归
【7月更文挑战第22天】逻辑回归
41 5
|
6月前
|
机器学习/深度学习 存储 自然语言处理
逻辑回归的介绍和应用
**逻辑回归简介** 逻辑回归是一种分类模型,尽管名字含“回归”,实际上是用于二分类问题的。它简单易懂,计算高效,适用于许多领域,如医学、社会科学、市场营销等。优点是模型简单,易于实现,具有强解释性。然而,它易受多重共线性影响,可能欠拟合,分类精度有限,尤其对非线性问题和数据不平衡问题处理不佳。在实践中,逻辑回归常作为其他复杂算法的基线,如用于信用卡欺诈检测和点击率预测。通过调整和与其他技术结合,如GBDT,可以提升其性能。
|
5月前
|
机器学习/深度学习 数据采集 算法
|
7月前
|
机器学习/深度学习 定位技术 数据处理
认识线性回归模型
线性回归是一种广泛应用于统计学和机器学习的技术,用于研究两个或多个变量之间的线性关系。
63 1
下一篇
无影云桌面