Classification 和 Regression
不建议用Regression来做Classification ,Regression函数为了得到更小的loss,会拟合右图右下角的点,导致拟合出紫色的函数。而对于分类,绿色的线更好。也就是Regression会 惩罚那些“太正确”的例子……

理想的做法
y=f(g(x))={10g(x)>0other
损失:
L(f)=n∑δ(f(xn)=y^n)
有以下方法可以找到最好的function: Perceptron, SVM
概率论方法
回顾:贝叶斯公式、最大似然估计法
还是先把贝叶斯公式写出来:
P(C1∣x)=P(x)P(C1x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)
稍微解释下:
P(C1x)表示是x且为C1类的概率,拆分为2步:先求发生x的概率P(x),然后求x发生的条件下为C1类的概率P(C1∣x),所以P(C1∣x)≥P(C1x)=P(C1∣x)P(x)
其中P(C1)和P(C2)是已知的,可以直接得到。而P(x∣C1)和P(x∣C2)是需要使用最大似然(Maximum Likelihood)估计求得C1、C2上的概率分布后再求x的概率值
可以假设分布是高斯分布:
fμ,Σ(x)=(2π)D/21∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}

找一组μ和Σ使得似然函数最大:
L(μ,Σ)=fμ,Σ(x1)fμ,Σ(x2)fμ,Σ(x3)……fμ,Σ(x79)
求得:
μ∗=791∑n=179xn, Σ∗=791∑n=179(xn−μ∗)(xn−μ∗)T
所以可以求得P(C1x),但是准确率不高,从下图也可以看到这种分布不好区分。

如果每个class都有个 Σ的话参数会非常多,如果特征到7维,还会更多,会造成overfiting
修改模型:C1和C2的Σ一样,其中Σ=14079Σ1+14061Σ2

准确率提升到73%,而且边界是线性的。下面会说明为什么会变成线性。
朴素贝叶斯方法
前提是各个特征独立
求概率可以直接写成:
P(x∣C1)=P(x1∣C1)P(x2∣C1)……P(xk∣C1)……
分布函数也不一定就是高斯分布,如果是特征是2项分布,非黑即白,那么分布函数就写成Bernoulli分布(几何分布)
Warning
下面推导就是为了表面为什么共享使用Σ后分界线会变成线性的
lP(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)=1+P(x∣C1)P(C1)P(x∣C2)P(C2)1=1+exp(−z)1=σ(z)
z=lnP(x∣C2)P(C2)P(x∣C1)P(C1)
一堆推导省略…
当Σ1=Σ2=Σ

因此:
P(C1∣x)=σ(w⋅x+b)
这就解释了为什么分类边界是线性的,那么为什么不直接求w和b,要弄这么多概率论的东西呢?下一节说…