Python实战教程:拒绝调包,如何用python推导线性回归模型

最近有人问我一个问题,我数学不好,代码基础薄弱,英语一般般,如何入门当今最为前沿的机器学习领域?均方差损失,MSE,平方损失函数,二次代价函数都是什么意思?

这个问题问得好,诸如学好数学,多敲代码,攻克专八这类标准回答我就不多说了。我们这回用Python实战教程案例,分分钟带你入门。

下面我们通过机器学习的入门模型——线性回归,从数学说起,以代码着手,一步步推导出可以应用于实践的模型。

线性回归的数学原理

首先,先看一张图:

Python实战教程:拒绝调包,如何用python推导线性回归模型
图是我们在初中学习过的直角坐标系二维平面,上面遍布着一些点。从整体趋势看,y随x的增大而增大。如果曾经你和我一样,数学每次考试都是90的话,那么接下来,我相信你会情不自禁地做一件事:

Python实战教程:拒绝调包,如何用python推导线性回归模型
没错,我们会以(0,0)和(10,10)为两点,画出一条贯穿其中的线,从视觉上,这条红线正好把所有点一分为二,其对应的数学表达式为:

y=x

而这就是我们线性回归所要做的事:找到一组数学表达式(图中的红线),用来反映数据(图中的点)的变化规律。

目标有了,问题也来了:

贯穿图中密密麻麻点的线有无数条,为什么不是y=2x,y=x+1,偏偏是y=x呢?

我们又是通过何种方法去找到这条线呢?

先解决第一个问题,上天书:

Python实战教程:拒绝调包,如何用python推导线性回归模型
这个式子就是第一个问题的解,没见过的符号太多,看不懂是吧?那么我来翻译一下:

  • 先求出(每个点的Y值-以每个点的X值通过函数求出的Y值)的平方
  • 求和;
  • 乘以1/2

再通俗点:

把每个点的实际y值与它通过某个函数求出的y值的差的平方加起来,再乘以1/2。

而文章开篇中的均

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值