李宏毅2020深度学习笔记——classification_1
ref:Bishop chapter4.2.2
通过输入model的object x的分析其各特征,将其分如对应的class中
eg:金融贷款:
输入:income, saving, profession, age, past financial
输出:accept/ refuse、
医疗诊断、数字辨识。。。。。
如何求解:
思路1(不可取)
将classification 作为regression求解
问题:当样本中如果存在过于正确的或过于错误的样本个(样本远离理想的bondary,则会导致会导致bondray偏离,以减少loss)
不可取
思路2(引入sigmoid)
在Model中内接一个离散的函数g(x)?使得g(x)>0,output = class 1
g ( x ) > 0 , o u t p u t = c l a s s 1. e l s e , o u t p u t = c l a s s 2 \ g(x)>0,output = class 1.else, output = class 2 g(x)>0,output=class1.else,output=class2
同时定义loss function
L ( f ) = ∑ n δ ( f ( x n ) ≠ y ^ n ) L(f)={\displaystyle \sum _{n}\delta (f(x^{n})≠\hat{y}^{n})} L(f)=n∑δ(f(xn)=y^n)
定义为在training data上错误的次数
错误次数越小,loss越少
由于L(f)无法微分,无法使用梯度下降求解,可以使用感知机或支持向量机求解
可以使用概率的思维求解
贝叶斯公式:
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(C_1 |x) = \frac{P(x|C_1 ) P(C_1)}{P(x|C_{1} ) P(C_1)+P(x|C_{2} ) P(C_2)} P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)
其中
P ( x ∣ C 1 ) 、 P ( C 1 ) 、 P ( x ∣ C 2 ) 、 P ( C 2 ) P(x|C_1 )、 P(C_1)、P(x|C_{2} ) 、P(C_2) P(x∣C1)、P(C1)、P(x∣C2)、P(C2)
希望从training data 中估计得到,也就可以得知x属于哪个分类
x服从Gaussion distribution
将数据plot在高维的Gaussion distribution中,如何实现理想的划分?
(有点像k-means?)
知道了一个Gaussion的μ和 Σ就可以得到数据的最大似然估计
求微分可得:
μ ∗ = 1 k ∑ n = 1 k x n μ^{*}=\frac{1}{k}{\displaystyle \sum _{n=1}^ k x^{n}} μ∗=k1n=1∑kxn
Σ ∗ = 1 k ∑ n = 1 k ( x n − μ ∗ ) ( x n − μ ∗ ) ) T Σ^{*}=\frac{1}{k}{\displaystyle \sum _{n=1}^ k (x^{n}-μ^{*})(x^{n}-μ^{*}))^{T}} Σ∗=k1n=1∑k(xn−μ∗)(xn−μ∗))T
定义likelihood:
L ( μ c , Σ ) = ∏ n ∏ c f μ c , Σ ( x n ) L(μ^{c},Σ)=\prod_n {\prod_c {f_{μ^{c},Σ}(x^{n})}} L(μc,Σ)=n∏c∏