跑酷,机器学习第2天:什么是线性回归?为什么是间隔的平方不是绝对值,海参的功效与作用

admin 2019-04-06 阅读:167

01 导言

人工智能和机器学习现已是时下炽热的技能。各行各业的人都想着怎样运用人工智能和机器学习使他们的作业变的愈加简略高效。

机器学习

机器学习常识需求由浅入深,一步一步的学习。

这篇文章,咱们一同学习一下线性回归吧!

02 线性回归是什么?

函数的界说考究的是 独立参数 x 非独立参数 y之间的对应联系。

y = f(x)

学好了函数,也就无意中为咱们奠定了学习 回归(Regression)的根底。

怎样了解线性回男图归?

线性回归 = 线性 + 回归

榜首跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果:先了解什么是回归?

机器学习的意图主要是找到方针值3p文 T 和 一堆数据之间的联系,而确认机器学习中的联系的办法有:分类和回归

怎样去区别分类和回归呢?

看方针值 T 是定性的值仍是定理的值:

定量输出称为回归;

定性输出称为分类;

比如说:

  • A: 猜测明日是多少度?数据有今日的度数x,气候状况y(晴天,雨天,阴天);
  • B超能宝鉴: 猜测明日是什么气候?数据有今日的度数x,气候状况y(晴天,雨天,阴天);

一同来看看A和B两个比如;今日的度数x是一个接连的值;而气候状况的确一个类古宁村别,三种状况选其一;

也便是说A和B的输入数据类型是相同的!

A中猜测明日有多少度?A会给出一个详细的值,且这个值是在一个接连的范围内。咱们管这种叫做回归。也便是定量输出称为回归;

B中猜测明日是什么气候?B给出的成果是一个定性的成果,这种叫分类。定性输出称为分类;

雷区1: 很多人会经过输入数据的类型来判别分类仍是回归,其实这和输入数据真没啥联系!

第二:再了解什么是线性?

函数中,方针值T 和参数x,y,z之间的联系有很多种。比如说,

y = x,这便是线性联系;x和y的联系能够由一条直线表明;

体重和糖摄入量的联系

y = x^2,这可不是线性联系了;因中村玉绪为x和y的联系是抛物线了;

一步一步学 线性回归

StatQuest上现已很好的介绍了线性回归的办法,我就借用一下啦!(因为感觉说的不会比他的好!)。

图片来历:StatQuest

在StatQue春之望st比如中,需求找到老鼠体重和老鼠尺度巨细之间的联系,数跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果据点如上图。看着线性联系挺显着的。

榜首步:假定联系

老鼠巨细 = a * 老鼠体重 + b

怎样确认a和b的值便是线性回归的方针。

趁便提一下,这个便是假定函数 h(x),h代表的是假定英文的头字母(Hypothesis);

图片来历:StatQuest

第二步:确认一个规范

图片来历:StatQuest

图片来历:StatQuest

如上图,依据数据体系之反转人生,咱们能够画出很多条线来表跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果示这情侣自拍个线性联系。究竟怎样去挑选最优的呢?

不论画的线怎样变,数学表达式不会变。

老鼠巨细 = a * 老鼠体重 + b

那么,经过这个式子,输出恣意一个老鼠体重,就会给出一个老鼠巨细值。咱们界说为 猜测值_i;

在已知的数据中,老鼠体重是对应的一个实践值的,界说为 实践值_i

| 猜测值_i - 实践值_i | 不便是猜测差错嘛!

这样,科学家们又造出了一个 丢失函泡圣老猫数(Cost Function),也便是说所决议的联系要使得 丢失函数最小。

线性回归的丢失函数如下:一切差错平方的平均值

J = sum((猜测值_i - 实践值_i)^2) / n

n是数据点的个数;sum是求和的意思。

图片来历:StatQuest

图片来历:StatQuest

咱们有了这个方针,就旋转直线(改动斜率a)和上下移动改动截距(改动b)。上图是只改动斜率a的图,最终在一个视点的时分,咱们使得 丢失函数 J最小了。而这个进程,能够经过梯度下降来求得,详细的今后的文章会关键解说。

对了,线性回归的丢失函数 J还有一个姓名,叫做Mean Squared Error(MSE)。

03 略微提一下Gradient Descent(梯度下降)

我期望我的朋友们,都是看过我之前文章的。因为讲这个需求点微积分,详细是偏纳兰福雅微分的常识。

厌烦的公式跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果来了。仍是这张图。

图片来历:StatQuest

咱们知道,丢失函数 J = sum芳华从爱上妈妈开端((猜测值_i - 实践值_i)^2) / n。上图便是一个 J - a(斜率)的联系图。

知道微积分的朋友应该知道怎样去找最小值,不便是找到 极小值的办法吗?导数为0,切线水平。

公式

详细进程是假定一个a或许b,算出偏微分,然后对a或许b进行调整。详细调整的办法这儿不真岛吾朗怎样死的展开讨论了。

一起考虑a和b的话,其实是找三维图画的最低点,如下图:

三维图画

04 勤学要好问:为什么丢失函数里要用距离的平方而不是距离的绝对值?

咱们有想过妈妈爱上我这个问题吗?差错是| 猜测值_i - 实践值_i | ,那我取差错绝对值的和的最小值不也能够称为一个丢失函数嘛。

千万不要以为这个平方是马马虎虎来的。背面的道理真的我不愿意讲,因为公式厚夫厚夫规划顾问公司太多。

差错 = 猜测值_i - 实践值_i

这个差错是契合必定概率散布的。看过我之前的文章介绍海量数据的中心极限定理的朋友,应该知道这个差错 能够被假定为:

平均值 u = 0,方差为 的正态散布。

正态散布

那么在已知正太散布的状况下,每一个数据点都会对应一个差错,而差错呈现的概率,精确的说是Likelihood是能够经过 正态散布的函数求得的。

likelihood(概率协钢压力表)

一切数据点 差错概率相加

当咱们对上述思考乐oa函数取对数可得:

取对数

最大似然剖析,不懂得看我之前的文章。咱们要确保 L 最大,只需确保上式 右边值最大。

式子右边 榜首项和第二项是定值,只需确保第三项最小就能够使 L最大。

因为 u = 0,只需 sum((差错值_i)^2) 最小就能够啦!

这便是为什么 丢失函数 J要选用平方的数学解说啦!

05 Python完成线性回归

Python真的是搭上了 人工智能和机器学习的大船,开展是真的好。

Python中的 sklearn 包是能够用来处理 线性回归的问题的。

  • from sklearn.l爱上琉璃苣女孩优酷inear_model import LinearRegression

首要咱们要从sklearn.linear_model中引进 LinearRegression 这个函数;

  • 逃学博士 = LinearRegression(normalize=True)

LinearRegression 赋给变量名 逃学博士;

  • 逃学博士.fit(x, y)

这样就能够做出跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果线性回归啦!

简略吧!

06 总结

对了,千万不要以为线性回归简略、好用,就能够乱用。

随意运用会出笑话的。

比如江门野协说:我国人口肥壮份额 = 跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果10% * 十年的次数

期望咱们喜欢我的文章。

“逃学博士”:理工科直男一枚,在天寒地冻的加拿大攻读工程博士。闲跑酷,机器学习第2天:什么是线性回归?为什么是距离的平方不是绝对值,海参的成效与效果暇之余共享点科学常识肿瘤专家王振国和学习干货。