监督学习 - 线性回归|学习笔记

简介: 快速学习监督学习 - 线性回归。

开发者学堂课程【机器学习入门-概念原理及常用算法监督学习 - 线性回归】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/355/detail/4183


监督学习 - 线性回归

 

内容介绍

一、预测线性模型

二、线性回归的定义

三、例题

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

 

一、预测线性模型

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

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维的x:x(i)∈ Rn,i=1,.., m

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

Hypothesis function:hθ(x): Rn→R,e.g. linear

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

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

通常通过引入损失函数来实现:loss:R*R→R +

得到h是否足够接近y,如果h非常接近y那么希望loos输出一个非常小的值,如果h离y比较远则希望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会呈现逐渐下降的趋势。最后在某种程度上,我们判定这个迭代已经收敛,此时的θ值就是我们所求的值。

假定y和x有假设级,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, y,theta, 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.com、ODPS console等进行调用

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

相关文章
|
机器学习/深度学习 算法 API
机器学习算法之线性回归
机器学习算法之线性回归
|
机器学习/深度学习 算法
机器学习算法之逻辑回归
机器学习算法之逻辑回归
|
4天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
2月前
|
机器学习/深度学习 算法 Python
线性回归模型学习
【9月更文挑战第3天】
32 5
|
机器学习/深度学习 算法
机器学习算法——线性回归
最近一直在学机器学习,但感觉学习效率低,理解不深入,所以想通过写博客总结来加深自己的理解,写一下我的理解过程, 也希望能帮到其他人。
55 0
|
4月前
|
机器学习/深度学习 数据采集 算法
|
6月前
|
机器学习/深度学习 定位技术 数据处理
认识线性回归模型
线性回归是一种广泛应用于统计学和机器学习的技术,用于研究两个或多个变量之间的线性关系。
63 1
|
6月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】非线性回归与线性回归有何不同?
【5月更文挑战第19天】【机器学习】非线性回归与线性回归有何不同?
|
6月前
|
机器学习/深度学习 分布式计算 前端开发
线性回归模型使用技巧
【5月更文挑战第14天】线性回归基础及进阶应用概述:探讨模型假设、最小二乘法和系数估计;通过多项式特征处理非线性关系;应用正则化(Lasso、Ridge)减少过拟合;特征选择优化模型复杂度;使用GridSearchCV进行超参数调优;处理分组数据、缺失值;集成方法(Bagging)提升性能;尝试岭回归、弹性网络、高斯过程回归和鲁棒回归;利用模型融合增强预测力;应对大规模数据挑战;分析特征重要性;自动特征工程;增强模型解释性;集成模型多样性及权重调整;应用序列最小优化(SMO)、预测区间估计;动态特征选择;模型校验与调优;稳定性分析;迁移学习。
106 3
|
机器学习/深度学习 算法
19 机器学习 - Lineage逻辑回归分类算法
19 机器学习 - Lineage逻辑回归分类算法
83 0