| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 机器学习:从公式推导到代码实现多元线性回归 -> 正文阅读 |
|
[人工智能]机器学习:从公式推导到代码实现多元线性回归 |
前面我们已经讨论过一元线性回归没如果大家对这个看的比较晦涩,可以查看前置内容: 机器学习:从公式推导到代码实现一元线性回归 多元线性回归我认为多元线性回归与一元线性回归本质上是一样的,一元线性回归可以看成数据特征维度为1的多元线性回归,而多元主要体现在数据维度的多样性,比如说房价预测,决定房价的因素有很多(比如,位置,新旧,大小。。。等)。 求解过程设DataSet:={(x1,y1),(x2,y2),(x3,y3)…(xn,yn))},其中
x
i
∈
R
p
xi \in R^p
xi∈Rp,
y
i
∈
R
yi \in R
yi∈R,也就是说X=
(
x
1
,
x
2
,
x
3.....
x
n
)
T
(x1,x2,x3.....xn)^T
(x1,x2,x3.....xn)T,其中这里,每个元素x X=
[
x
11
x
12
.
.
.
x
1
p
1
x
21
x
22
.
.
.
x
2
p
1
.
.
.
.
.
.
x
n
1
x
n
2
.
.
.
x
n
p
1
]
(4)
\left[ \begin{matrix} x_{11} & x_{12} &... x_{1p} &1 \\ x_{21} & x_{22} &... x_{2p} &1 \\ \\...... \\x_{n1} & x_{n2} &... x_{np} &1 \end{matrix} \right]\tag{4}
???????x11?x21?......xn1??x12?x22?xn2??...x1p?...x2p?...xnp??111????????(4) 所以我们把假设函数写成 f ( x i ) = W T ? x i f(x_i)=W^T*x_i f(xi?)=WT?xi?,我们的目的是找到一条直线,使这条直线的距离到每个每个坐标点的距离最小,这也就是最小二乘估计的核心思想,所以我们可以把Cost Function写成 L ( W ) = ( f ( ? i ) ? y i ) 2 L(W)=(f(\epsilon_i)-y_i)^2 L(W)=(f(?i?)?yi?)2 这里之所以用平方,如果没有平方,Cost Fuction可能为负值,如果为负,这样就不利于我们对真实值与预测值差距多少的判断,这样我们会有一个疑问,我们可以不用均方误差,直接加上一个绝对值就可以保证代价函数的值域大于等于0,答案显然是不可以的,因为绝对值函数不能保证在整个定义域上>=0,所以最终采用均方误差,这个代价函数也可以用最小二乘估计推出来,我们下一节在做讨论。 L ( W ) = ∑ i = 1 n ( W T ? ? i ? y i ) 2 L(W)=\sum_{i=1}^{n}(W^T*\epsilon_i-y_i)^2 L(W)=∑i=1n?(WT??i??yi?)2
L
(
W
)
=
L(W)=
L(W)= L ( W ) = W T ? X T ? X ? W ? W T ? X T ? Y ? Y T ? X ? W ? Y T ? Y L(W)=W^T*X^T*X*W-W^T*X^T*Y-Y^T*X*W-Y^T*Y L(W)=WT?XT?X?W?WT?XT?Y?YT?X?W?YT?Y 然后我们通过矩阵乘法的运算性质,我们可以得出这四项都是一个一维的常数,其中第二项于第三项互为转置,可以化简得(如果大家忘记了矩阵运算法则,下图以给出性质):
L
(
W
)
=
W
T
?
X
T
?
X
?
W
?
2
?
W
T
?
X
T
?
Y
?
?
Y
T
?
Y
L(W)=W^T*X^T*X*W-2*W^T*X^T*Y--Y^T*Y
L(W)=WT?XT?X?W?2?WT?XT?Y??YT?Y W ? = ( X T ? X ? 1 ) ? X T ? Y W^*=(X^T*X^{-1})*X^T*Y W?=(XT?X?1)?XT?Y 代码
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 17:44:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |