个人掘金链接

个人博客原文链接

一、数学基础

似然函数

概率(probability):描述已知参数时的随机变量的输出结果;

似然函数(likelihood):用来描述已知随机变量输出结果时,未知参数的可能取值。

\[ L(\theta | x) = f(x | \theta)\]

似然函数和密度函数是完全不同的两个数学对象,前者是关于\(\theta\)的函数,后者是关于\(x\)的函数。

高斯分布

数学期望(mean):试验中,每次可能结果的概率乘以其结果的总和。

(伯努利)大数定律:当试验次数足够多时,事件发生的频率无穷接近于该事件发生的概率。

伯努利试验:设试验E只可能有两种结果:“A”和“非A”

n重伯努利试验:将E独立的重复地进行n次,则称这一穿重复的独立试验为n重伯努利试验

二项分布(伯努利分布):将一伯努利试验重复了n次,在这n次试验中成功次数k,k为随机变量,称为二次随机变量,其分布称为二项分布

\[ P(X = k) = C_n^kp^k(1-p)^{n-k} , k = 1,2,…,n\]

正态分布:又称“高斯分布”

\[ f(x) = \frac 1 {\sqrt{2 \pi }\sigma} e ^ {- \frac {(x^2-\mu^2)} {2\sigma^2}}\]

对数公式

\[ \log AB = \log A + \log B \]

矩阵计算

矩阵转置:行变列,列变行。

矩阵乘法:A的列数必须与B的行数相等

\[
A =
\left[
\begin{matrix}
a & b & c
\end{matrix} \right]
\\\\
B =
\left[
\begin{matrix}
e & f & g
\end{matrix} \right]
\\\\
A^T B = ae + bf + cg
\]

矩阵求导

\[
\frac {d( { x ^ T A X } )} {d(x)} = 2Ax
\\\\
\frac {d( { x ^ T A } )} {d(x)} = A
\\\\
\frac {d( { A x} )} {d(x)} = {A ^ T}
\]

二、推导

线性回归公式

\[
y = wx + b
\]

当存在多个特征参数的时候,不同的特征参数对目标函数值有不同的权重参数。

\[
h_\theta(x) = \theta _ 1 x _ 1 + \theta _2 x _ 2 + … + \theta _n x _ n
\\\\
= \sum_{i=1}^n\theta _ i x _ i
\]

使用矩阵来表示

\[
\theta^T x =
\left[
\begin{matrix}
\theta _ 1 \\\\
\theta _ 2 \\\\
.\\\\
.\\\\
.\\\\
\theta _ n \\\\
\end{matrix} \right]
\left[
\begin{matrix}
x _ 1 & x _ 2 & … & x _ n
\end{matrix} \right]
= \sum_{i=1}^n\theta _ i x _ i
= h_\theta(x)
\]

计算误差

误差项:真实值和预测值之间存在的一个误差,我们通常希望误差越小越好。

\[
h_\theta(x) = \theta ^ T x + \xi
\]

\[
y ^ {(i)} = \theta ^ T x ^ {(i)} + \xi ^ {(i)}
\]

误差项符合高斯分布,所以
\[
P(\xi _ i) = \frac 1 { \sqrt {2 \pi } \sigma} e ^ { – \frac { \xi ^ 2 } { 2 \sigma ^ 2}}
\]

\[
P(y _ i | x _ i ; \theta) = \frac 1 { \sqrt { 2 \pi } \sigma } e ^ { – \frac { { (y _ i – \theta ^ T x _ i)} ^ 2 } {2 \sigma ^ 2 } }
\]

要计算某些参数和特征组合让误差最小,这里引入似然函数
\[
L(\theta) = \prod_{ i=1 }^{ m } P(y _ i | x _ i ; \theta) = \prod_{i=1}^{m} \frac 1 { \sqrt{2 \pi } \sigma } e ^ {- \frac { { (y _ i – \theta ^ T x _ i) } ^ 2 } { 2\sigma^2 } }
\]

\[
\log L(\theta) = \log \prod_{i=1}^{m} \frac 1 { \sqrt{ 2 \pi }\sigma } e ^ { – \frac { { ( y _ i – \theta ^ T x _ i ) } ^ 2 } { 2\sigma^2 } }
\]

\[
= \sum_{i=1}^{m} \log \frac 1 { \sqrt{ 2 \pi }\sigma } e ^ { – \frac { { (y _ i – \theta ^ T x _ i) } ^ 2 } { 2\sigma^2 } }
\]

\[
= \sum_{i=1}^{m} ( \log \frac 1 { \sqrt{ 2 \pi }\sigma } + \log e ^ { – \frac { { ( y _ i – \theta ^ T x _ i ) } ^ 2 } { 2 \sigma ^ 2 } })
\]

\[
= m \log \frac 1 { \sqrt{ 2 \pi }\sigma } – \frac 1 { 2 { \sigma } ^ 2 } \sum_{i=1}^{m} { ( y _ i – \theta ^ T x _ i ) } ^ 2
\]

因不考虑定值,得出\(J(\theta)\)越小越好

\[
J(\theta) = \frac 1 {2} \sum_{i=1}^{m} {(y _ i – \theta ^ T x _ i)} ^ 2
\]

矩阵求偏导

根据矩阵知识,将上式转换

\[
J(\theta) = \frac 1 {2} \sum_{i=1}^{m} {(h _ \theta(x _ i) – y _ i)} ^ 2
\]

\[
= \frac 1 {2} (x \theta – y) ^ T (x \theta – y)
\]

对矩阵求偏导

\[
\partial_\theta J(\theta) = \partial _ \theta ( { \frac 1 {2} (x \theta – y) ^ T (x \theta – y) } )
\]

\[
= \partial_\theta { ( \frac 1 {2} ( \theta ^ T x ^ T – y ^ T ) (x \theta – y) ) }
\]

\[
= \partial _ \theta { ( \frac 1 {2} ( { \theta ^ T x ^ T x \theta } – { \theta ^ T x ^ T y } – {y ^ T x \theta } + {y ^ T y } ) }
\]

\[
= \frac 1 {2} ( { 2 x ^ T x \theta } – { x ^ T y } – { (y ^ T x) ^ T } )
\]

\[
= {x ^ T x \theta} – { x ^ T y}
\]

最终求解

最好的情况是,偏导数为0,说明梯度递减已经到达最底部

线性回归最优权重求解如下:

\[
\theta = {(x ^ T x) ^ {-1}} {x ^ T} y
\]

版权声明:本文为fonxian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fonxian/p/10332890.html