目的:仅仅通过一个变量预测因变量
举个例子:仅仅通过发量判断程序员水平
此时表示函数:
y = ω \omega ωx + b
目的:基于军方误差最小化来进行模型求解的方法:
对于函数 y =
ω
\omega
ωx + b ,我们定义如下公式求解误差:
E ( w , b ) = ∑ i = 1 m ( y i ? f ( x i ) ) 2 = ∑ i = 1 m ( y i ? ( w x i + b ) ) 2 = ∑ i = 1 m ( y i ? w x i ? b ) 2 \begin{aligned} E_{(w,b)}& =\sum_{i=1}^{m}\left(y_i-f(x_i)\right)^2 \\ &=\sum_{i=1}^m\left(y_i-(wx_i+b)\right)^2 \\ &=\sum_{i=1}^m\left(y_i-wx_i-b\right)^2 \end{aligned} E(w,b)??=i=1∑m?(yi??f(xi?))2=i=1∑m?(yi??(wxi?+b))2=i=1∑m?(yi??wxi??b)2?
从几何角度理解就是当前数据点的y坐标值跟用于拟合的函数上同横坐标对应的纵坐标的差值的平方。
目的:用于估计概率分布的参数值,个人感觉有点像生物学中的抽样调查。
举个例子:要调查学校中的雌性生物和雄性生物的比例,并不是将所有生物都捉起来,而是抽取其中的一部分进行统计。
公式如下:
L ( θ ) = ∏ i = 1 n P ( x i ; θ ) L(\theta)=\prod_{i=1}^nP(x_i;\theta) L(θ)=∏i=1n?P(xi?;θ)
其中 θ \theta θ是未知数,这个概率是关于 θ \theta θ的函数,称L( θ \theta θ)为样本的似然函数。使得函数取到最大值的 θ ? \theta^* θ?就是 θ \theta θ的估计值。
大家都知道机器学习问题主要解决的就是优化问题,由此衍生出来的数学理论目的也是求解优化问题。
凸集:集合
D
?
R
n
D\subset\mathbb{R}^n
D?Rn,如果对任意的
x
,
y
∈
D
x,\boldsymbol{y}\in D
x,y∈D与任意的
α
∈
[
0
,
1
]
\alpha\in[0,1]
α∈[0,1], 有
α
x
+
(
1
?
α
)
y
∈
D
\alpha\boldsymbol{x}+(1-\alpha)\boldsymbol{y}\in D
αx+(1?α)y∈D
梯度:梯度 (多元函数的一阶导数) : 设n元函数
f
(
x
)
f(\boldsymbol{x})
f(x)对自变量
x
=
(
x
1
,
x
2
,
.
.
.
,
x
n
)
T
\boldsymbol{x}=(x_1,x_2,...,x_n)^{\mathrm{T}}
x=(x1?,x2?,...,xn?)T的各分量
x
i
x_i
xi?的偏导数
?
f
(
x
)
?
x
i
(
i
=
1
,
.
.
.
,
n
)
\frac{\partial f(x)}{\partial x_i}(i=1,...,n)
?xi??f(x)?(i=1,...,n)都存在,则称函数
f
(
x
)
f(\boldsymbol{x})
f(x)在
x
x
x处一阶可导,并称向量
?
f
(
x
)
=
[
?
f
(
x
)
?
x
1
?
f
(
x
)
?
x
2
?
?
f
(
x
)
?
x
n
]
\left.\nabla f(\boldsymbol{x})=\left[\begin{array}{c}\frac{\partial f(\boldsymbol{x})}{\partial x_1}\\\frac{\partial f(\boldsymbol{x})}{\partial x_2}\\\vdots\\\frac{\partial f(\boldsymbol{x})}{\partial x_n}\end{array}\right.\right]
?f(x)=
??x1??f(x)??x2??f(x)???xn??f(x)??
? 为函数
f
(
x
)
f(\boldsymbol{x})
f(x)在
x
\boldsymbol{x}
x处的一阶导数或梯度。
这里我们一般就使用列矩阵(分母型)
凸充分性定理:若 f ˙ : R n → R \dot{f}:\mathbb{R}^n\to\mathbb{R} f˙?:Rn→R是凸函数,且 f ( x ) f(\boldsymbol{x}) f(x)一阶连续可微,则 x ? x^* x?是全局解的充分必要条件是 ? f ( x ? ) = 0 \nabla f(x^*)=\mathbf{0} ?f(x?)=0
所以, ? E ( w , b ) = 0 \nabla E_{(w,b)}=\mathbf{0} ?E(w,b)?=0的点即为最小值点,也即 ? E ( w , b ) = [ ? E ( w , b ) ? w ? E ( w , b ) ? b ] = [ 0 0 ] \left.\nabla E_{(w,b)}=\left[\begin{array}{c}\frac{\partial E(w,b)}{\partial w}\\\frac{\partial E(w,b)}{\partial b}\end{array}\right.\right]=\left[\begin{array}{c}0\\0\end{array}\right] ?E(w,b)?=[?w?E(w,b)??b?E(w,b)??]=[00?]
先对 b b b进行求导和化简:
? E ( w , b ) ? b = 2 ( m b ? ∑ i = 1 m ( y i ? w x i ) ) = 0 m b ? ∑ i = 1 m ( y i ? w x i ) = 0 b = 1 m ∑ i = 1 m ( y i ? w x i ) b = 1 m ∑ i = 1 m y i ? w ? 1 m ∑ i = 1 m x i = y ˉ ? w x ˉ \begin{gathered} \frac{\partial E_{(w,b)}}{\partial b} =2\left(mb-\sum_{i=1}^m\left(y_i-wx_i\right)\right)=0 \\ mb-\sum_{i=1}^{m}{(y_i-wx_i)}=0 \\ b=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-wx_{i})\\ b=\frac1m\sum_{i=1}^my_i-w\cdot\frac1m\sum_{i=1}^mx_i=\bar{y}-w\bar{x} \end{gathered} ?b?E(w,b)??=2(mb?i=1∑m?(yi??wxi?))=0mb?i=1∑m?(yi??wxi?)=0b=m1?i=1∑m?(yi??wxi?)b=m1?i=1∑m?yi??w?m1?i=1∑m?xi?=yˉ??wxˉ?
把 b = y ˉ ? w x ˉ b=\bar{y}-w\bar{x} b=yˉ??wxˉ代入上式可得:
w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i ? ∑ i = 1 m ( y ˉ ? w x ˉ ) x i \begin{gathered}w\sum_{i=1}^mx_i^2=\sum_{i=1}^my_ix_i-\sum_{i=1}^m(\bar{y}-w\bar{x})x_i\end{gathered} wi=1∑m?xi2?=i=1∑m?yi?xi??i=1∑m?(yˉ??wxˉ)xi??
进一步推导可以得到:
w = ∑ i = 1 m y i x i ? x ˉ ∑ i = 1 m y i ∑ i = 1 m x i 2 ? 1 m t = ∑ i = 1 m y i ( x i ? x ˉ ) ∑ i = 1 m x i 2 ? 1 m t 1 ∑ i = 1 m x i ) 2 ( ∑ i = 1 m x i ) 2 w=\frac{\sum_{i=1}^my_ix_i-\bar{x}\sum_{i=1}^my_i}{\sum_{i=1}^mx_i^2-\frac1{mt}}=\frac{\sum_{i=1}^my_i(x_i-\bar{x})}{\sum_{i=1}^mx_i^2-\frac1{mt}\frac1{\sum_{i=1}^mx_i)^2}(\sum_{i=1}^mx_i)^2} w=∑i=1m?xi2??mt1?∑i=1m?yi?xi??xˉ∑i=1m?yi??=∑i=1m?xi2??mt1?∑i=1m?xi?)21?(∑i=1m?xi?)2∑i=1m?yi?(xi??xˉ)?
在一元线性回归的基础上加了多值离散特征
举个栗子:在前面的通过发亮判断程序员水平的基础上增加了其他变量,比如增加了颜值(好、差)、代码量项目经历(少、中、多)等。
此时原来的函数变成了:
y = ω 1 \omega_1 ω1?x1 + ω 2 \omega_2 ω2?x2 + ω 3 \omega_3 ω3?x3 + ω 4 \omega_4 ω4?x4 + ω 5 \omega_5 ω5?x5 + ω 6 \omega_6 ω6?x6 + b
对于多元变量,我们为了能够用numpy库进行运算加速,采用向量表达的方式。
f ( x i ) = w T x i + b f(\boldsymbol{x}_i)=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b f(xi?)=wTxi?+b
也就是:
f ( x i ) = w 1 x i 1 + w 2 x i 2 + . . . + w d x i d + w d + 1 ? 1 f\left(\boldsymbol{x}_{i}\right)=w_{1}x_{i1}+w_{2}x_{i2}+...+w_{d}x_{id}+w_{d+1}\cdot1 f(xi?)=w1?xi1?+w2?xi2?+...+wd?xid?+wd+1??1
由最小二乘法可得 E w ^ = ∑ i = 1 m ( y i + f ( x ^ i ) ) 2 = ∑ i = 1 m ( y i ? w ^ T x ^ i ) 2 \begin{aligned}\text{由最小二乘法可得}\\E_{\hat{\boldsymbol{w}}}&=\sum_{i=1}^m{(y_i+f(\hat{\boldsymbol{x}}_i))^2}=\sum_{i=1}^m\left(y_i-\hat{\boldsymbol{w}}^\mathrm{T}\hat{\boldsymbol{x}}_i\right)^2\end{aligned} 由最小二乘法可得Ew^??=i=1∑m?(yi?+f(x^i?))2=i=1∑m?(yi??w^Tx^i?)2?
接下来就是求解 ω ^ ? {\hat\omega}^* ω^?使得这个函数取最值。(证明过程略,本人太菜暂时还没懂>_<)