很多人对人工智能模型不了解
现在我们对一些简单的模型纯手工实现一下
理解了人工智能原理,后面的学习就会更容易了
一元线性回归
人工智能里,最容易让人理解的应该就是 回归, 这个用xls都可以做
开篇必须说几个概念,早就懂和不愿意看的直接跳过
- 回归
- 回归,指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,又称多重回归分析
- 通常Y1,Y2,…,Yi是因变量,X1、X2,…,Xk是自变量
- 一元线性回归
- 回归分析只涉及到两个变量的,称一元回归分析
- 当Y=f(X)的形式是一个直线方程时,称为一元线性回归
线性方程
我们初中时候就学过 线性方程 (linear equation)
线性方程有一个 斜截式 (slope intercept form)
y = kx + b
比如我们让k=2,b=1

代码实现
这个非常简单,一行代码就可以实现
Python
def linear(x):
return x * 2 + 1
javascript
function linear(x) {
return x * 2 + 1;
}
简单来说,y=2x+1就是训练后的模型
我们的 人工智能 做的,就是找出这个 2 和 1
其实可以理解为y=kx+b的方程,已知y和x求k和b
回归分析
回归分析是通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型
我们拿百度百科里面的数据来做一下分析
https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E6%96%B9%E7%A8%8B
这里给了广告费和销售额的一组数据
| 广告费x(万元) | 销售额y(百万元) |
|---|---|
| 300 | 300 |
| 400 | 350 |
| 400 | 490 |
| 550 | 500 |
| 720 | 600 |
| 850 | 610 |
| 900 | 700 |
| 950 | 660 |
画散点图展示

其实这个是有一个趋势的,我们可以用一条线表示出来,这就是回归

确定方程
我们中学时候学过,两点确定一条直线
如果我们只有两个数据可以确定一条直线
| 广告费x(万元) | 销售额y(百万元) |
|---|---|
| 300 | 300 |
| 950 | 660 |

最小平方法
选择多,烦恼多,那么多点,怎么确定直线呢?
那么就看每个点到这个直线的距离的和最小,那么说明误差最小
实际的y减去预测的模型算出来的y称为 离差

回归模型
yi=α+βxi+εiy_i = \alpha + \beta x_i + \varepsilon_iyi=α+βxi+εi
我们可以先不管εi\varepsilon_iεi(之后会详细介绍)
只看yi=α+βxiy_i = \alpha + \beta x_iyi=α+βxi
就是刚才的y=kx+b就是换了个名字
那么,多个已知x和y求α和β我们一步一步看
我们要方差和最小,方差和就是下面的公式
∑i=1n(yi−y^i)2\sum\limits_{i=1}^n(y_i - \hat{y}_i)^2i=1∑n(yi−y^i)2
∑就是总共n个数字的组合,加在一起,还不懂就看看高中数学书,找“西格玛”
因为
yi^=α+βxi\hat{y_i} = \alpha + \beta x_iyi^=α+βxi
所以我们最后得到方程式
∑i=1n[yi−(α+βxi)]2\sum\limits_{i=1}^n[y_i - (\alpha + \beta x_i)]^2i=1∑n[yi−(α+βxi)]2
我们求这个方程的最小值
利用 微分法 得到两个正规方程
{ ∑yi=nα+β∑xi∑xiyi=α∑xi+β∑xi2\begin{cases} \sum{y_i} = n\alpha + \beta \sum{x_i} \\ \sum{x_i y_i} = \alpha \sum{x_i} + \beta \


807

被折叠的 条评论
为什么被折叠?



