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

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

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

课程地址: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.…,快速收敛,得到模型

目录
打赏
0
0
0
0
216
分享
相关文章
|
8月前
|
Abp源码分析之Abp最小系统
本文详细介绍了如何构建一个基于ABP框架的最小系统,包括创建API项目、配置模块、访问数据库等步骤。通过创建API项目、修改`Program.cs`和`BookAbpModule.cs`文件,以及添加模块和数据库访问功能,最终实现了基本的CRUD操作。文章还展示了如何使用Swagger生成API文档,并通过控制台输出验证模块的加载顺序。适合初学者快速上手ABP框架。
120 3
Abp源码分析之Abp最小系统
云原生时代的运维策略:从反应式到自动化
在云计算的浪潮下,运维领域经历了翻天覆地的变化。本文将带你领略云原生时代下的运维新风貌,探索如何通过自动化和智能化手段,实现从传统的反应式运维向主动、智能的运维模式转变。我们将一起见证,这一变革如何助力企业提升效率,保障服务的连续性与安全性,以及运维人员如何适应这一角色的转变,成为云原生时代的引领者。
171 9
谈谈内容创作中的UGC、PGC、AIGC,在创意设计领域的应用与进化
在数字化时代,内容创作经历了从UGC(用户生成内容)到PGC(专业生产内容),再到AIGC(人工智能生成内容)的转变。UGC打破了传统边界,让每个人都能参与创作,但质量参差不齐;PGC代表专业水准,提供高质量内容,但成本高且制作周期长;AIGC借助AI技术大幅提升效率,实现个性化定制,但面临版权、伦理和情感表达的挑战。Adobe国际认证等专业资格成为了衡量设计师能力的新标准,帮助设计师适应这一变革并引领创新。三种模式相互补充,共同推动创意设计领域不断发展。
【Linux】深挖进程地址空间
【Linux】深挖进程地址空间
73 0
从零基础到精通:Flutter开发的完整指南
从零基础到精通:Flutter开发的完整指南
463 0
速卖通商品API接口的使用指南与示例
速卖通(AliExpress)是阿里巴巴旗下的全球性跨境电商平台,为全球消费者和商家提供了一个便捷的在线交易平台。为了方便商家和开发者获取速卖通商品详情,速卖通提供了商品API接口。本文将详细介绍如何通过速卖通商品API接口来获取速卖通商品详情,并提供相应的代码示例。
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问