频率派机器学习

在这里插入图片描述

1. 线性回归

我们知道线性回归的基本模型是 f ( w , b ) = w T x + b f(w,b)=w^Tx+b f(w,b)=wTx+b,线性回归有三要素:1.线性 ;2.全局性 ;3.数据未加工;新的机器学习的算法就是为了打破这三个要素而产生的

1.1 线性

1.1.1 属性非线性

属性非线性就是从未知数入手,比如说用特征变换的方法将变量从一维变换到高位,相当于二次型的意思,比如有时候数据会表示成: x 1 2 + x 2 2 + x 1 x 2 + . . . + x p 2 x_1^2+x_2^2+x_1x_2+...+x_p^2 x12+x22+x1x2+...+xp2

1.1.2 全局非线性

全局非线性的方法:是通过对函数的运算结果增加一个函数,来将线性函数改造成非线性函数,比如,神经网络中的激活函数,还有通过阀值来将软分类变成硬分类的分类函数

1.1.3 系数非线性

所谓系数非线性,就是系数的生成结果并不是单一的。就像神经网络算法一样,算法的收敛结果是一个分布,也就是位于一个区间之中,这样的算法结果一定不是线性的,这种通过了不确定的方法来引入非线性。

1.2 全局性

所谓全局性,也就是将所有的数据看成一个整体来进行拟合,而打破的方法很简单,就是将数据之间分隔开,分段进行拟合。代表有 线性样条回归,决策树等方法

1.3 数据未加工

就是输入数据不经过加工直接的输入模型中,那么我们就用新的方法将这个打破,比如:主成分分析PCA,流形等方法来对输入数据进行预处理

2. 线性分类与线性回归关系

线性回归和线性分类之间有着很大的联系,从某种意义上来说,线性分类就是线性回归函数使用激活函数的结果。同时也可以看成是线性回归降维的结果。对于一个线性回归函数,我们可以通过添加全局函数的形式来将其转换为线性分类函数,
y = w T x + b → y = f ( w T x + b ) y=w^Tx+b \rightarrow y=f(w^Tx+b) y=wTx+by=f(wTx+b)
注 : f ( w T x + b ) 注:f(w^Tx+b) f(wTx+b)为激活函数,y的值域为{0,1}或者[0,1];这里我们区分两个,如果只有0,1这两个数值,那么就是硬分类,如果是区间[0,1],那么就是软分类; 可 以 看 出 f 函 数 将 w T x + b ⟼ 可以看出f函数将w^Tx+b\longmapsto fwTx+b{0,1};所以 f f f是激活函数;而 f − 1 f^{-1} f1被称为链接函数,将{0,1} ⟼ \longmapsto w^Tx+b

2.1 硬分类

所谓硬分类就是y的值域只有两个0,1;大致上可以分成线性判别分析,也就是Fisher判别分析和感知机

2.2 软分类

软分类就是y的值域在区间[0,1],大致可以分成生成式模型:
Gaussian Distribution Analysis 和著名的判别式模型Logistic Regression
P ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) ∝ p ( x ∣ y ) p ( y ) P(y|x)=\frac{p(x|y)p(y)}{p(x)}\propto p(x|y)p(y) P(yx)=p(x)p(xy)p(y)p(xy)p(y)
我们在求解p(y=0|x)或p(y=1|x)的时候,我们不直接求谁大谁小,而是转向求p(x|y=0)p(y)或p(x|y=1)p(y=1)

3.感知机模型

感知机模型的中心思想是求被错误分类的点的个数。是一种错误驱动的模型,它的中心思想是:如果在初始阶段看到哪些点错误了,我们就通过跳帧权重W,直到模型分类正确为止。
在这里插入图片描述

3.1 感知机算法数学描述:

f ( w ) = s i g n w T x , w ∈ R P , 其 中 s i g n 属 于 指 示 型 函 数 f(w)=sign{w^Tx},w\in \mathbb{R}^P,其中sign属于指示型函数 f(w)=signwTx,wRP,sign
指 示 型 函 数 : s i g n a l = { + 1 a ≥ 0 − 1 a < 0 指示型函数:signal = \begin{cases} +1 & a \geq0 \\ -1 & a <0 \end{cases} signal={+11a0a<0
其中样本D:{被错误分类的样本},样本集为:{ ( x i , y i ) i = 1 i = N (x_i,y_i)_{i=1}^{i=N} (xi,yi)i=1i=N}

3.2 感知机模型的迭代过程

根据上述描述,我们可以将损失函数L(W)定义如下:
L ( W ) = ∑ i = 1 N I { y i w T x i < 0 } ; 注 : I 为 指 示 型 函 数 L(W)=\sum_{i=1}^{N}I \{y_iw^Tx_i<0\};注:I为指示型函数 L(W)=i=1NI{yiwTxi<0};I
由指示型函数定义可得如下 y i 和 w T x i 之 间 的 关 系 : y_i和w^Tx_i之间的关系: yiwTxi:
指 示 型 函 数 : s i g n a l = { w T x i ≥ 0 ; y i = + 1 w T x i < 0 ; y i = − 1 指示型函数:signal = \begin{cases} w^Tx_i\geq0; & y_i=+1 \\ w^Tx_i<0; & y_i=-1 \end{cases} signal={wTxi0;wTxi<0;yi=+1yi=1
可 以 看 出 , 当 数 据 样 本 被 正 确 分 类 的 时 候 y i w T x i > 0 , 只 有 当 错 误 分 类 的 时 候 , 就 会 出 现 y i w T x i ≤ 0 可以看出,当数据样本被正确分类的时候y_iw^Tx_i>0,只有当错误分类的时候,就会出现y_iw^Tx_i\le0 yiwTxi>0,yiwTxi0
指示型函数的作用就是将上述函数的值进行离散化分类,如果L的值等于错误分类的点的个数,那么上述函数起到的作用就相当于一个映射 { ( x i , y i ) i = 1 N } → I { 0 , 1 } \{(x_i,y_i)_{i=1}^{N}\} \xrightarrow{I} \{0,1\} {(xi,yi)i=1N}I {0,1}由于上述的指示型函数(signal)不是连续型函数,和普通的梯度下降法的过程一样,无法求导其梯度来进行迭代更新,那么,我们需要想办法将这个离散的梯度连续,所以我们将损失函数更新为如下:
损 失 函 数 : L ( W ) = ∑ x i ∈ D − y i w T x i 损失函数:L(W)=\sum_{x_i \in D} -y_iw^Tx_i L(W)=xiDyiwTxi
梯 度 : ▽ w L ( W ) = ∑ x i ∈ D − y i x i 梯度:\bigtriangledown_{w}L(W)=\sum_{x_i \in D} -y_ix_i wL(W)=xiDyixi
迭 代 过 程 如 下 : w ( t + 1 ) ↔ w ( t ) − λ ▽ w L ( W ) 迭代过程如下:w^{(t+1)}\leftrightarrow w^{(t)}-\lambda \bigtriangledown_{w}L(W) w(t+1)w(t)λwL(W)
带 入 梯 度 可 得 如 下 : w ( t + 1 ) ↔ w ( t ) + λ ∑ x i ∈ D y i x i 带入梯度可得如下:w^{(t+1)}\leftrightarrow w^{(t)}+\lambda\sum_{x_i \in D} y_ix_i w(t+1)w(t)+λxiDyixi
以上为感知机的迭代过程。
注:
1.SGD:随机梯度下降;迭代过程的算法
2.矩阵求导公式:可参考 matrix-cookbook :
∂ A X ∂ X = A ; ∂ X T A ∂ X = A T \frac{\partial AX}{\partial X}=A;\frac{\partial X^TA}{\partial X}=A^T XAX=A;XXTA=AT(分子布局)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐