文章目录
一、关于线性模型
线性模型的基本形式:
给定由
d
d
d个属性描述的示例
x
=
(
x
1
;
x
2
;
.
.
.
;
x
d
)
x=(x_1;x_2;...;x_d)
x=(x1;x2;...;xd),其中
x
i
x_i
xi是
x
x
x在第
i
i
i个属性上的取值,线性模型试图学到一个通过属性的线性组合来预测的函数。
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
d
x
d
+
b
f(x) = {w_1x_1 + w_2x_2 +...+ w_dx_d + b}
f(x)=w1x1+w2x2+...+wdxd+b
一般用向量形式写成:
f
(
x
)
=
w
T
x
+
b
{f(x)=w^Tx + b}
f(x)=wTx+b
其中
w
=
(
w
1
;
w
2
;
.
.
.
;
w
d
)
w = (w_1;w_2;...;w_d)
w=(w1;w2;...;wd).
w
w
w 和
b
b
b是要学习的参数,参数确定之后,模型就得到确定。
问题1:机器学习想做一件什么事?
机器学习是想要通过现有的数据,找到隐藏在事物背后的规律。
而大部分规律是符合线性模型的形式。
问题2 :什么是线性模型?
线性模型的基本形式为:
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
d
x
d
+
b
f(x) = {w_1x_1 + w_2x_2 +...+ w_dx_d + b}
f(x)=w1x1+w2x2+...+wdxd+b
- 判断是否是线性模型针对的是:权重参数 w w w
错误的理解:
(1)线性模型学习出来的流行只能是线性的
(2)线性和非线性的区别是:是否可以用直线将样本划分开
(3)区分是否为线性模型,主要看一个乘法式子中的自变量x
问题3:偏置 b b b代表了什么?
l
o
s
s
=
1
2
∑
n
=
1
N
{
y
n
−
b
−
∑
j
=
1
M
−
1
w
j
ϕ
(
X
n
)
}
2
loss = {1\over 2} \sum_{n=1}^N\{y_n -b- \sum_{j=1}^{M-1}{w_j\phi(X_n)}\}^2
loss=21n=1∑N{yn−b−j=1∑M−1wjϕ(Xn)}2
b
=
y
‾
−
∑
j
=
1
M
−
1
w
j
ϕ
j
‾
b = \overline y - \sum_{j=1}^{M-1}{w_j\overline{ \phi_j}}
b=y−j=1∑M−1wjϕj
y ‾ = 1 N ∑ n = 1 N y n \overline y = {1\over N} \sum_{n=1}^Ny_n y=N1n=1∑Nyn
ϕ ‾ j = 1 N ∑ n = 1 N ϕ j ( x n ) \overline \phi_j = {1\over N}\sum_{n=1}^N\phi_j(x_n) ϕj=N1n=1∑Nϕj(xn)
偏置 b b b补偿了目标值的平均值(在训练集上的)与预测值的平均值的差距。【可以使得数据中可以存在任意固定的偏置】
二、Linear Regression
2.1、求解线性回归的基本思想
- 线性模型的表达式为: y ^ = f ( x ) = w T x + b \hat{y} = {f(x)=w^Tx + b} y^=f(x)=wTx+b
- 目标是: f ( x ) 与 y ( 真 实 值 ) 越 接 近 越 好 f(x) 与 y(真实值)越接近越好 f(x)与y(真实值)越接近越好
问题1:如何衡量 y ^ 与 y \hat{y} 与 y y^与y之间的差距?
最直观的理解就是计算 y ^ 与 y \hat{y} 与 y y^与y之间的距离。------也就是损失函数,常用的MSE损失(平方差损失),CE损失(交叉熵损失)
(补充)其他的距离计算方式
(1)欧式距离
d i s t ( p i , p j ) = ∑ k = 1 n ( p i k − p j k ) 2 dist(p_i, p_j) = \sqrt{\sum_{k=1}^n (p_{ik} - p_{jk})^2} dist(pi,pj)=k=1∑n(pik−pjk)2
(2)【最常用】均方差距离
d i s t ( p i , p j ) = ∑ k = 1 n ( p i k − p j k ) 2 dist(p_i, p_j) = {\sum_{k=1}^n (p_{ik} - p_{jk})^2} dist(pi,pj)=k=1∑n(pik−pjk)2
(3)【稀疏】曼哈顿距离
d i s t ( p i , p j ) = ∑ k = 1 n ∣ p i k − p j k ∣ dist(p_i, p_j) = {\sum_{k=1}^n |p_{ik} - p_{jk}|} dist(pi,pj)=k=1∑n∣pik−pjk∣
(4)【多维】马氏距离
d i s t ( p i , p j ) = ( p i − p j ) T s − 1 ( p i − p j ) dist(p_i, p_j) = {\sqrt{(p_i - p_j)^T s^{-1}(p_i - p_j)}} dist(pi,pj)=(pi−pj)Ts−1(pi−pj) s − 1 表 示 协 方 差 矩 阵 \ \ \ \ \ \ s^{-1}表示协方差矩阵 s−1表示协方差矩阵
(5)汉明距离
(6)编辑距离
2.2 线性回归的解法
求解 w 和 b w和b w和b使 E ( w , b ) = l o s s = 1 2 ∑ i = 1 m ( y i − w i − b ) 2 E_{(w,b)} = loss = {1\over 2} \sum_{i=1}^m(y_i -w_i - b)^2 E(w,b)=loss=21∑i=1m(yi−wi−b)2最小化的过程,称为线性回归模型的最小二乘“参数估计”。
E ( w , b ) E_{(w,b)} E(w,b) 分别对 w 和 b w和b w和b求导,得到
d ( E ( w , b ) ) d w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) {d(E_{(w,b)}) \over dw} =2(w\sum_{i=1}^m x_i^2 - \sum_{i=1}^m(y_i - b)x_i) dwd(E(w,b))=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
d ( E ( w , b ) ) d b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) {d(E_{(w,b)}) \over db} =2(mb - \sum_{i=1}^m (y_i - wx_i)) dbd(E(w,b))=2(mb−i=1∑m(yi−wxi))
令 d ( E ( w , b ) ) d w 和 d ( E ( w , b ) ) d b {d(E_{(w,b)}) \over dw} 和 {d(E_{(w,b)}) \over db} dwd(E(w,b))和dbd(E(w,b)) 同时为零时,可以得到 w 和 b w和b w和b的最优解。
- 一元情况下
可以得到解析解【通过严格的公式得到的解】:
w ∗ = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w^* = {\sum_{i=1}^m y_i(x_i - \overline x) \over \sum_{i=1}^m x_i^2 - {1 \over m}(\sum_{i=1}^m x_i)^2} w∗=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−x)
b ∗ = 1 m ∑ i = 1 m y i − w ∗ x i b^* = {1 \over m}\sum_{i=1}^m y_i - w^*x_i b∗=m1i=1∑myi−w∗xi
其 中 x ‾ = 1 m ∑ i = 1 m x i 其中 \overline x = {1 \over m}\sum_{i=1}^m x_i 其中x=m1∑i=1mxi 为 x i x_i xi的均值。 - 多元情况下
使用正则化,可以使解唯一:
使 用 正 则 化 前 : w ∗ = ( x T x ) − 1 x T y 使 用 正 则 化 后 : w ∗ = ( x T x + λ I ) − 1 x T y 使用正则化前:w^* = (x^T x)^{-1}x^T y \\ 使用正则化后:w^* = (x^T x + \lambda I)^{-1}x^T y 使用正则化前:w∗=(xTx)−1xTy使用正则化后:w∗=(xTx+λI)−1xTy
解 释 正 则 化 为 什 么 使 解 唯 一 { 从 矩 阵 分 解 从 模 型 选 择 解释正则化为什么使解唯一 \begin{cases} 从矩阵分解 \\ 从模型选择 \end{cases} 解释正则化为什么使解唯一{从矩阵分解从模型选择
三、逻辑回归 Logistics Regression
回归问题: y = w T x + b y = {w^Tx + b} y=wTx+b
分类问题: l n y 1 − y = w T x + b ln{y \over 1-y} = {w^Tx + b} ln1−yy=wTx+b
y 1 − y {y \over 1-y} 1−yy 表示 x x x 为正类相当于反类的相对可能性,因为取了对谁,所以称为对数几率。
将 l n y 1 − y = w T x + b ln{y \over 1-y} = {w^Tx + b} ln1−yy=wTx+b展开可以表示为: y = e w T x + b 1 + e w T x + b y = {e^{w^T x + b}\over 1+e^{w^T x + b}} y=1+ewTx+bewTx+b
Logistic Regression 的目标函数
目标:每一个data 属于其自身的类别的概率最大
l
(
w
,
b
)
=
∑
i
=
1
m
l
n
p
(
y
i
∣
x
i
;
w
,
b
)
l(w,b) = \sum_{i=1}^mln \ p(y_i|x_i;w,b)
l(w,b)=i=1∑mln p(yi∣xi;w,b)
我们用
W
代
替
(
w
,
b
)
W代替(w,b)
W代替(w,b),则有目标
W
∗
=
a
r
g
m
a
x
∑
i
=
1
m
l
n
p
(
y
i
∣
x
i
;
W
)
W^* = arg \ max \sum_{i=1}^mln \ p(y_i|x_i;W)
W∗=arg maxi=1∑mln p(yi∣xi;W)
分类问题的解决方案
1、判别函数的方案
定义:找到一个函数 f ( x ) f(x) f(x)称其为判别函数。这个函数把每一个输入 x x x直接映射为类别标签。
举个例子:
给定数据中有三类,“猫”,“狗”,“鱼”
直接给数据一个标签:“猫=1”,“狗=2”,“鱼=3”
则判别函数输出直接就是–2
2、判别模型(判别式)的方案–从数据出发
定义:首先解决后验类密度
p
(
C
k
∣
x
)
p(C_k|x)
p(Ck∣x)这一推断问题,接下来使用决策论来对新的输入
x
x
x进行分类。
这种直接对后验概率建模的方法称为判别式模型【
C
k
C_k
Ck表示类别】
举个例子:
给定数据中有三类,“猫”,“狗”,“鱼”
直接给数据一个标签:“猫=1”,“狗=2”,“鱼=3”
则判别式输出为:----(0.3,0.6,0.1)一种概率的形式。
3、生成模型的方案–假设一种分布,以统计学和贝叶斯作为理论基础
定义:首先给定每个类别
C
k
C_k
Ck,独立的确定类条件密度
p
(
x
∣
C
k
)
p(x|C_k)
p(x∣Ck)。这是一个推断问题。
然后,推断先验类概率
p
(
C
k
)
p(C_k)
p(Ck)。再使用贝叶斯定理计算后验。
p ( C k ∣ x ) = p ( x ∣ C k ) p ( C k ) p ( x ) {p(C_k|x)=}\ {{p(x|C_k)p(C_k)}\over {p(x)}} p(Ck∣x)= p(x)p(x∣Ck)p(Ck)
p
(
C
k
∣
x
)
{p(C_k|x)}
p(Ck∣x) 后验概率
p
(
x
∣
C
k
)
{p(x|C_k)}
p(x∣Ck) 似然概率
p
(
C
k
)
{p(C_k)}
p(Ck) 先验
得到后验概率之后,我们就可以使用决策论来确定每个新的输入
x
x
x的类别。
显示的或者隐式的对输入以及输出进行建模的方式称为生产式模型。