机器学习6 - 算法进阶1

机器学习6 - 算法进阶

知识点

  1. 最大似然函数
    L ( x 1 , x 2 , … , x n ; θ 1 , θ 2 , … , θ k ) = ∏ i = 1 n f ( x i , θ 1 , θ 2 , … , θ k ) L(x_{1},x_{2},\dots,x_{n};\theta_1,\theta_2,\dots,\theta_{k})=\prod_{i=1}^{n}f(x_{i},\theta_1, \theta_2,\dots,\theta_{k}) L(x1,x2,,xn;θ1,θ2,,θk)=i=1nf(xi,θ1,θ2,,θk)
    θ \theta θ的值从而使得似然函数取最大值。求解:
    l o g L ( θ 1 , θ 2 , … , θ n ) = ∑ i = 1 n l o g f ( x i ; θ 1 , θ 2 , … , θ k ) logL(\theta_1,\theta_2,\dots,\theta_{n}) = \sum_{i=1}^{n}logf(x_{i};\theta_1,\theta_2,\dots,\theta_{k}) logL(θ1,θ2,,θn)=i=1nlogf(xi;θ1,θ2,,θk)
    ∂ L ( θ ) ∂ θ i = 0 i = 1 , 2 , … , k \frac{\partial L(\theta)}{\partial \theta_{i}} = 0 \quad i = 1,2,\dots,k θiL(θ)=0i=1,2,,k
  2. 二项分布
    f ( n ∣ p ) = l o g ( p n ( 1 − p ) N − n ) = h ( p ) f(n|p) = log(p^{n}(1-p)^{N-n}) = h(p) f(np)=log(pn(1p)Nn)=h(p)
    ∂ h ( p ) ∂ p = n p − N − n 1 − p → 0 ⇒ p = n N \frac{\partial h(p)}{\partial p} = \frac{n}{p}-\frac{N-n}{1-p}\rightarrow0 \Rightarrow p = \frac{n}{N} ph(p)=pn1pNn0p=Nn
  3. 正态分布
    l ( x ) = − n 2 l o g ( 2 π σ 2 ) − 1 2 σ 2 ∑ i ( x i − μ ) 2 l(x) = -\frac{n}{2}log(2\pi\sigma^2)-\frac{1}{2\sigma^2}\sum_{i}(x_{i}-\mu)^2 l(x)=2nlog(2πσ2)2σ21i(xiμ)2 σ , μ \sigma,\mu σ,μ求导可以得出:
    { μ = 1 n ∑ i X i σ 2 = 1 n ∑ i ( X i − μ ) 2 \begin{cases} \mu = \frac{1}{n}\sum_{i}X_{i} \\ \sigma^2 = \frac{1}{n}\sum_{i}(X_{i}-\mu)^2 \end{cases} {μ=n1iXiσ2=n1i(Xiμ)2
  4. 高斯分布的对数似然和最小二乘。
    y i = θ T x i + ϵ i y_{i} = \theta^{T}x_{i}+\epsilon_{i} yi=θTxi+ϵi
    假设 ϵ i   n ( 0 , σ 2 ) \epsilon_{i} ~ n(0,\sigma^2) ϵi n(0,σ2),线性模型。
    L ( y i ∣ θ , x i ) = l o g ∏ i n 1 2 π σ e − ϵ i 2 2 σ 2 = l o g ∏ i n 1 2 π σ e − ( y i − h θ ( x i ) ) 2 2 σ 2 = − n 2 l o g 2 π σ 2 − 1 2 σ 2 ∑ i = 1 n ( y i − h θ ( x i ) ) 2 ⇒ m a x i m i z e − 1 2 ∑ i = 1 n ( y i − h θ ( x i ) ) 2 ⇔ m i n i m i z e ∑ i = 1 n ( y i − h θ ( x i ) ) 2 \begin{aligned} L(y_{i}|\theta,x_{i}) &= log\prod_{i}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\epsilon_{i}^2}{2\sigma^2}} \\ &=log\prod_{i}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_{i}-h_{\theta}(x_{i}))^2}{2\sigma^2}} \\ & = -\frac{n}{2}log2\pi\sigma^2-\frac{1}{2\sigma^2}\sum_{i=1}^{n}(y_{i}-h_{\theta}(x_{i}))^2 \\ &\Rightarrow maximize \quad -\frac{1}{2}\sum_{i=1}^{n}(y_{i}-h_{\theta}(x_{i}))^2 \\ & \Leftrightarrow minimize \sum_{i=1}^{n}(y_{i}-h_{\theta}(x_{i}))^2 \end{aligned} L(yiθ,xi)=login2π σ1e2σ2ϵi2=login2π σ1e2σ2(yihθ(xi))2=2nlog2πσ22σ21i=1n(yihθ(xi))2maximize21i=1n(yihθ(xi))2minimizei=1n(yihθ(xi))2使用最小二乘求解即可。广义逆,MOORE-PENROSE逆:
    A + = ( X T X ) − 1 X T A^{+} = (X^{T}X)^{-1}X^{T} A+=(XTX)1XT
  5. Ridge L2正则。Lasso L1正则。
    ElasticNet正则项:
    λ ( ρ ∑ j ∣ θ j ∣ + ( 1 − ρ ) ∑ j θ j 2 ) \lambda(\rho\sum_{j}|\theta_{j}|+(1-\rho)\sum_{j}\theta_{j}^2) λ(ρjθj+(1ρ)jθj2)
    当模型复杂时偏向于LASSO,当模型简单时偏向于RIDGE。
  6. 梯度下降算法:
    • batch(BGD):全部数据做的。
    • 随机梯度法(SGD):每次随机选取一个样本。
    • mini-batch:折中法,选取小批量样本取平均梯度做下降,一般取2的次幂。
    • Adaboost:自适应的为各个参数分配不同学习率的算法,通过每个参数的学习率除以它之前导数的均方根来调节学习率。
  7. 决定系数
    R 2 = S S R S S T = ∑ i ( y ^ − y i ˉ ) 2 ∑ i ( y i − y ˉ ) 2 \begin{aligned} R^2 &= \frac{SSR}{SST} \\ &= \frac{\sum_{i}(\hat{y}-\bar{y_{i}})^2}{\sum_{i}(y_{i}-\bar{y})^2} \end{aligned} R2=SSTSSR=i(yiyˉ)2i(y^yiˉ)2
  8. 逻辑回归参数估计:
    假设二项分布,广义线性模型。
    决策边界求解:
    P ( y = 1 ∣ x , w ) P ( y = 0 ∣ x , w ) = 1 e − ( w t x + b ) = 1 w t x + b = 0 \begin{aligned} \frac{P(y=1|x,w)}{P(y=0|x,w)} &= 1\\ e^{-(w^{t}x+b)} &= 1 \\ w^{t}x+b &= 0 \end{aligned} P(y=0x,w)P(y=1x,w)e(wtx+b)wtx+b=1=1=0
    由此可得线性决策边界,因此逻辑回归是线性分类器。
    P ( θ ) = ∏ i h θ ( x i ) y i ( 1 − h θ ( x i ) ) 1 − y i L ( θ ) = ∑ i y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) P(\theta) = \prod_{i}h_{\theta}(x_{i})^{y_{i}}(1-h_{\theta}(x_{i}))^{1-y_{i}} \\ L(\theta) = \sum_{i}y_{i}logh_{\theta}(x_{i})+(1-y_{i})log(1-h_{\theta}(x_{i})) P(θ)=ihθ(xi)yi(1hθ(xi))1yiL(θ)=iyiloghθ(xi)+(1yi)log(1hθ(xi))
    其损失函数即为 − L ( θ ) -L(\theta) L(θ),核心是sigmoid函数:
    g ( x ) = 1 1 + e − x g(x) = \frac{1}{1+e^{-x}} g(x)=1+ex1
    g ′ ( x ) = e − x 1 + e − x = g ( x ) ( 1 − g ( x ) ) g'(x) = \frac{e^{-x}}{1+e^{-x}}=g(x)(1-g(x)) g(x)=1+exex=g(x)(1g(x))
    没有解析解,因此使用梯度下降法求解:
    ∂ L ( θ ) ∂ θ j = ∑ i ( y i h − 1 − y i 1 − h ) ∂ h ∂ θ j = ∑ i ( y i g − 1 − y i 1 − g ) g ( 1 − g ) ∂ g ∂ θ j = ∑ i ( y i − g ( θ T x i ) ) x i j \begin{aligned} \frac{\partial L(\theta)}{\partial \theta_{j}} & =\sum_{i}(\frac{y_{i}}{h}-\frac{1-y_{i}}{1-h})\frac{\partial h}{\partial \theta_{j}} \\ & = \sum_{i}(\frac{y_{i}}{g}-\frac{1-y_{i}}{1-g})g(1-g)\frac{\partial g}{\partial \theta_{j}}\\ &= \sum_{i}(y_{i}-g(\theta^{T}x_{i}))x_{ij} \end{aligned} θjL(θ)=i(hyi1h1yi)θjh=i(gyi1g1yi)g(1g)θjg=i(yig(θTxi))xij
    θ j = θ j + α ( y i − h θ ( x i ) x i j ) \theta_{j} = \theta_{j} +\alpha(y_{i}-h_{\theta}( x_{i})x_{ij}) θj=θj+α(yihθ(xi)xij)
    w t + 1 = w t − η t ∑ i = 1 N [ σ ( w T x i + b ) − y i ] x i b t + 1 = b t − η t ∑ i = 1 N [ σ ( w T x i + b ) − y i ] w^{t+1} = w^{t}- \eta_{t}\sum_{i=1}^{N}[\sigma(w^{T}x_{i}+b)-y_{i}]x_{i}\\ b^{t+1} = b^{t}- \eta_{t}\sum_{i=1}^{N}[\sigma(w^{T}x_{i}+b)-y_{i}] wt+1=wtηti=1N[σ(wTxi+b)yi]xibt+1=btηti=1N[σ(wTxi+b)yi]
    上式为正向增大极大似然函数,即减小损失函数。
  9. 凡是符合指数族分布的随机变量,都可以使用广义线性模型。指数族分布:高斯,二项,伯努利,泊松,伽马。
  10. softmax分类器:
    p ( c = k ∣ x ; θ ) = e x p ( θ k T x ) ∑ i = 1 k e x p ( θ i T x ) p(c=k|x;\theta) = \frac{exp(\theta_{k}^{T}x)}{\sum_{i=1}^{k}exp(\theta_{i}^{T}x)} p(c=kx;θ)=i=1kexp(θiTx)exp(θkTx)
  11. ROC曲线:横坐标为FPR, 纵坐标为TPR, AUC为ROC下面积。
  12. 熵(核心概念)对应事件的不确定性。
  • 条件熵: H ( Y ∣ X ) = H ( X , Y ) − H ( X ) = H ( Y ) − I ( X , Y ) H(Y|X) = H(X,Y)-H(X)=H(Y)-I(X,Y) H(YX)=H(X,Y)H(X)=H(Y)I(X,Y)
  • 相对熵:又称互熵,交叉熵,KL散度等。
    设p(x),q(x)是X中取值的两个概率分布,则p对q的相对熵是
    D ( p ∣ ∣ q ) = ∑ x p ( x ) l o g p ( x ) q ( x ) D(p||q) = \sum_{x}p(x)log\frac{p(x)}{q(x)} D(pq)=xp(x)logq(x)p(x)相对熵可以度量两个变量间的距离。
  • 互信息:
    I ( X , Y ) = D ( P ( X , Y ) ∣ ∣ P ( X ) P ( Y ) ) I(X,Y) = D(P(X,Y)||P(X)P(Y)) I(X,Y)=D(P(X,Y)P(X)P(Y))
    I ( X , Y ) = ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) I(X,Y) = \sum_{x,y}p(x,y)log\frac{p(x,y)}{p(x)p(y)} I(X,Y)=x,yp(x,y)logp(x)p(y)p(x,y)
    独立则为0,不独立大于0。
    重要结论:
    • I(X,Y) = H(X)+H(Y)-H(X,Y)
    • H(X|Y)<=H(X), H(Y|X)<=H(Y)
  1. 决策树:贪心算法。ID3,C4.5,CART。关于Gini index:
    f ( x ) = − l n x f(x)=-lnx f(x)=lnx在x=1处泰勒展开,忽略高阶无穷小,可以得到 f ( x ) ≈ 1 − x f(x) \approx 1-x f(x)1x
    H ( x ) = − ∑ k = 1 K p k l n p k ≈ ∑ k = 1 K p k ( 1 − p k ) H(x)=-\sum_{k=1}^{K}p_{k}lnp_{k}\approx\sum_{k=1}^{K}p_{k}(1-p_{k}) H(x)=k=1Kpklnpkk=1Kpk(1pk)
    决策树缺点:泛化能力弱,可能发生过拟合。
  2. Bagging:综合多个分类器决定数据的类别。Bootstrap抽样N次,一次都没有出现过的数据概率:
    1 − ( 1 − 1 N ) N = 1 − ( ( 1 + 1 − N ) − N ) − 1 = 1 − 1 e ≈ 36.8 % 1-(1-\frac{1}{N})^{N}=1-((1+\frac{1}{-N})^{-N})^{-1} = 1-\frac{1}{e} \approx 36.8\% 1(1N1)N=1((1+N1)N)1=1e136.8%
    lim ⁡ n → ∞ ( 1 + 1 n ) n = lim ⁡ n → ∞ 1 + n ∗ 1 n + n ( n − 1 ) 2 n 2 + n ( n − 1 ) ( n − 2 ) 6 n 3 + … = 1 + 1 + 1 2 ! + 1 3 ! + ⋯ + 1 n ! = e \begin{aligned} \lim_{n\rightarrow \infin}(1+\frac{1}{n})^{n} &= \lim_{n\rightarrow \infin} 1+n*\frac{1}{n}+\frac{n(n-1)}{2n^2}+\frac{n(n-1)(n-2)}{6n^3}+\dots \\ &= 1+1+\frac{1}{2!}+\frac{1}{3!}+\dots+\frac{1}{n!} \\ & = e \end{aligned} nlim(1+n1)n=nlim1+nn1+2n2n(n1)+6n3n(n1)(n2)+=1+1+2!1+3!1++n!1=e
    OOB data: 36.8% 用来验证
  3. 样本不平衡的解决方法,假定严重不平衡。
  • A类欠采样
    • 随机欠采样
    • A类分成若干子类,分别与B建模
    • 基于聚类的A类分割
  • B类过采样
  • B类数据合成(SMOTE):随便选取少类样本点,随机选取该点最近的n个同类点,从中随机选取一个点在连线上生成一个新的数据点。
  • 代价敏感学习,降低A权重,增加B权重。
  1. 思考:

    • 使用随机森林为何可以提高正确率,减少过拟合? 引入了随机性。
    • 决策树后剪枝如何操作?https://www.jianshu.com/p/794d08199e5e
    • 决策树是几叉树与这棵树的分类数目有什么关系?没有关系。
    • 如果特征连续,如何得到分割点?离散为是否,连续则为<>=,同样适用gini系数。
    • 请解释gini系数为何可以用于分类标准?gini系数是熵函数的一阶近似展开,因此可以用于分类标准。
  2. 提升:可用于回归和分类,每一步产生一个弱预测模型,并加权累积到总模型中;如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称为梯度提升。理论意义:只要存在弱分类器,则可以通过提升的办法得到强分类器。通常,
    L ( y , F ( x ) ) = 1 2 ( y − F ( x ) ) 2 L(y,F(\bold{x})) = \frac{1}{2}(y-F(\bold{x}))^2 L(y,F(x))=21(yF(x))2
    L ( y , F ( x ) ) = ∣ y − F ( x ) ∣ L(y,F(\bold{x})) = |y - F(\bold{x})| L(y,F(x))=yF(x)
    假定 F ( x ) F(\bold{x}) F(x)是一族基函数 f i ( x ) f_{i}(\bold{x}) fi(x)的加权和
    F ( x ) = ∑ i = 1 M γ i f i ( x ) + c o n s t F(\bold{x}) = \sum_{i=1}^{M}\gamma_{i}f_{i}(\bold{x})+const F(x)=i=1Mγifi(x)+const
    假设 x i x_{i} xi升序,求解:
    μ ∗ = a r g m i n ∑ i = 1 n ∣ x i − μ ∣ \mu^{*} = arg min\sum_{i=1}^{n}|x_{i}-\mu| μ=argmini=1nxiμ
    J ( μ ) = ∑ i = 1 n ∣ x i − μ ∣ = ∑ i = 1 k ( μ − x i ) + ∑ i = k + 1 n ( x i − μ ) J(\mu) = \sum_{i=1}^{n}|x_{i}-\mu|=\sum_{i=1}^{k}(\mu-x_{i})+\sum_{i=k+1}^{n}(x_{i}-\mu) J(μ)=i=1nxiμ=i=1k(μxi)+i=k+1n(xiμ)
    ∂ J ( μ ) ∂ μ = ∑ i = 1 k ( − 1 ) + ∑ i = k + 1 n ( 1 ) = 0 \frac{\partial J(\mu)}{\partial \mu} = \sum_{i=1}^{k}(-1)+\sum_{i=k+1}^{n}(1) = 0 μJ(μ)=i=1k(1)+i=k+1n(1)=0
    μ \mu μ为中位数。同理可证若 L L L为平方,则 μ \mu μ为均值。
    F 0 ( x ) = a r g m i n ∑ i = 1 n L ( y i , γ ) F_{0}(\bold{x}) = argmin\sum_{i=1}^{n}L(y_{i},\gamma) F0(x)=argmini=1nL(yi,γ)
    以贪心的思路扩展到
    F m ( x ) = F m − 1 ( x ) + a r g m i n ∑ i = 1 n L ( y i , F m − 1 ( x i ) + f ( x i ) ) F_{m}(\bold{x})=F_{m-1}(\bold{x})+argmin\sum_{i=1}^{n}L(y_{i},F_{m-1}(\bold{x_{i}})+f(\bold{x_{i}})) Fm(x)=Fm1(x)+argmini=1nL(yi,Fm1(xi)+f(xi))
    F m ( x ) = F m − 1 ( x ) − γ m ∑ i = 1 n ∇ f L ( y i , F m − 1 ( x i ) ) F_{m}(\bold{x}) = F_{m-1}(\bold{x})-\gamma_{m}\sum_{i=1}^{n}\nabla_{f}L(y_{i},F_{m-1}(\bold{x_{i}})) Fm(x)=Fm1(x)γmi=1nfL(yi,Fm1(xi))
    其中 γ m \gamma_{m} γm为步长。

  3. GBDT:
    目标函数:
    J ( f t ) = ∑ i = 1 n L ( y i , y i ^ ( t − 1 ) + f t ( x i ) ) + Ω ( f t ) + C J(f_{t})= \sum_{i=1}^{n}L(y_{i},\hat{y_{i}}^{(t-1)}+f_{t}(x_{i}))+\Omega(f_{t})+C J(ft)=i=1nL(yi,yi^(t1)+ft(xi))+Ω(ft)+C
    其中 y i ^ ( t − 1 ) \hat{y_{i}}^{(t-1)} yi^(t1)为前t-1棵树在第i个样本的输出和, f t f_{t} ft为第t棵树在第i个样本的值,求和则为第i个样本的预测值。

  4. Xgboost核心求解过程,根据泰勒展示:
    J ( f t ) ≈ ∑ i = 1 n [ L ( y i , y i ^ ( t − 1 ) ) + g i f t ( x i ) + 1 2 h i f t 2 ( x i ) ] + Ω ( f t ) + C J(f_{t}) \approx \sum_{i=1}^{n}[L(y_{i},\hat{y_{i}}^{(t-1)})+g_{i}f_{t}(x_{i})+\frac{1}{2}h_{i}f_{t}^2(x_{i})]+\Omega(f_{t})+C J(ft)i=1n[L(yi,yi^(t1))+gift(xi)+21hift2(xi)]+Ω(ft)+C
    Ω ( f t ) = γ T + 1 2 ∑ j = 1 T w j 2 \Omega(f_{t}) = \gamma T +\frac{1}{2}\sum_{j=1}^{T}w_{j}^2 Ω(ft)=γT+21j=1Twj2
    推导公式:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在结点处如何划分,枚举可行的分割点,选择增益最大的划分,重复操作,直到满足某阈值或得到纯结点。
    G a i n ( ϕ ) = 1 2 [ G L 2 H L + λ + G R 2 H R + λ − ( G L + G R ) 2 H L + H R + λ ] − γ Gain(\phi) = \frac{1}{2}[\frac{G_{L}^2}{H_{L}+\lambda}+\frac{G_{R}^2}{H_{R}+\lambda}-\frac{(G_{L}+G_{R})^2}{H_{L}+H_{R}+\lambda}]-\gamma Gain(ϕ)=21[HL+λGL2+HR+λGR2HL+HR+λ(GL+GR)2]γ

  5. Xgboost与GBDT的比较,Xgboost使用了二阶泰勒展开,可以更快地在训练集上收敛。

    • 由于随机森林族本身具备过拟合优势,因此Xgboost一定程度上具备该优势
    • Xgboost实现中使用了多核/并行计算,因此训练速度快,同时它的原生语言为C/C++,这是它速度快的根本原因。
  6. Adaboost:
    构建基本分类器的线性组合
    f ( x ) = ∑ m = 1 M α m G m ( x ) f(x) = \sum_{m=1}^{M}\alpha_{m}G_{m}(x) f(x)=m=1MαmGm(x)
    计算 G m ( x ) G_{m}(x) Gm(x)在训练数据集上的分类误差率
    e m = P ( G m ( x i ) ≠ y i ) = ∑ i = 1 N w m i I ( G m ( x i ) ≠ y i ) < 0.5 e_{m} = P(G_{m}(x_{i})\neq y_{i})=\sum_{i=1}^{N}w_{mi}I(G_{m}(x_{i})\neq y_{i}) < 0.5 em=P(Gm(xi)=yi)=i=1NwmiI(Gm(xi)=yi)<0.5
    计算 α m \alpha_{m} αm
    α m = 1 2 l o g 1 − e m e m \alpha_{m} = \frac{1}{2}log\frac{1-e_{m}}{e_{m}} αm=21logem1em
    其中 G m ( x ) ∈ { − 1 , 1 } , y ∈ { − 1 , 1 } G_{m}(x)\in \{-1,1\},y\in\{-1,1\} Gm(x){1,1},y{1,1}
    得到最终分类器
    G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M α m G m ( x ) ) G(x) = sign(f(x)) = sign(\sum_{m=1}^{M}\alpha_{m}G_{m}(x)) G(x)=sign(f(x))=sign(m=1MαmGm(x))

base_estimator = DecisionTreeClassifier(criterion,max_depth,min_sample_split)
clf = AdaBoostClassifier(base_estimator,n_estimators,learning_rate)
clf.fit()

Adaboost是加法模型,损失函数为指数函数,学习算法为前向分布算法时的二类学习方法。
L ( y , f ( x ) ) = e x p ( − y f ( x ) ) L(y,f(x))=exp(-yf(x)) L(y,f(x))=exp(yf(x))

  1. 支持向量机。
  • 距离公式:
    d = ∣ A x 0 + B y 0 + C ∣ A 2 + B 2 d=\frac{|Ax_{0}+By_{0}+C|}{\sqrt{A^2+B^2}} d=A2+B2 Ax0+By0+C
  • 目标函数:
    a r g m a x { 1 ∣ ∣ w ∣ ∣ m i n [ y i ⋅ ( w T ⋅ Φ ( x i ) + b ) ] } arg max\{\frac{1}{||w||}min [y_{i}\cdot(w^{T}\cdot\Phi(x_{i})+b)]\} argmax{w1min[yi(wTΦ(xi)+b)]}
    目标函数变形:
    { m a x 1 ∣ ∣ w ∣ ∣ s . t . y i ( w T ⋅ Φ ( x i ) + b ) ≥ 1 i = 1 , 2 , 3 , . . . , n \begin{cases} max \frac{1}{||w||} \\ s.t. \quad y_{i}(w^{T}\cdot\Phi(x_{i})+b) \geq 1 \quad i=1,2,3,...,n \end{cases} {maxw1s.t.yi(wTΦ(xi)+b)1i=1,2,3,...,n

    { m i n ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T ⋅ Φ ( x i ) + b ) ≥ 1 i = 1 , 2 , 3 , . . . , n \begin{cases} min \frac{||w||}{2}\\ s.t. \quad y_{i}(w^{T}\cdot\Phi(x_{i})+b) \geq 1 \quad i=1,2,3,...,n \end{cases} {min2ws.t.yi(wTΦ(xi)+b)1i=1,2,3,...,n
  • 拉格朗日乘子法:原问题是极小极大问题,对偶问题是极大极小问题。拉格朗日方程:
    G ( x , ν , λ ) = f ( x ) + ∑ i = 1 n ν i f i ( x ) + ∑ j = 1 m λ j h j ( x ) G(x,\bold{\nu},\bold{\lambda}) = f(x)+\sum_{i=1}^{n}\nu_{i}f_{i}(x)+\sum_{j=1}^{m}\lambda_{j}h_{j}(x) G(x,ν,λ)=f(x)+i=1nνifi(x)+j=1mλjhj(x)
    其对偶函数为
    m i n   G ( x , ν , λ ) min \ G(x,\bold{\nu},\bold{\lambda}) min G(x,ν,λ)
    是一个凹函数,可以凸优化求解。其中 f i ( x ) ≤ 0 f_{i}(x)\leq0 fi(x)0 h j ( x ) = 0 h_{j}(x)=0 hj(x)=0 ν i ≥ 0 \nu_{i}\geq 0 νi0 λ ∈ R \lambda \in R λR
  • 求解:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    线性支持向量机
    • 不一定分类完全正确的超平面就是最好的
    • 样本数据本身线性不可分
  • 核函数。本质上是将原特征映射到高维空间之后使其线性可分。
    • 多项式核: K ( x 1 , x 2 ) = ( x 1 ⋅ x 2 + c ) d K(x_1,x_2) = (x_1\cdot x_2+c)^{d} K(x1,x2)=(x1x2+c)d,d=1时线性核。
    • 高斯核RBF: K ( x 1 , x 2 ) = e x p ( − γ ⋅ ∣ ∣ x 1 − x 2 ∣ ∣ 2 ) K(x_1,x_2) = exp(-\gamma\cdot||x_1-x_2||^2) K(x1,x2)=exp(γx1x22)
    • Sigmoid核: K ( x 1 , x 2 ) = t a n h ( x 1 ⋅ x 2 + c ) K(x_1,x_2) = tanh(x_1\cdot x_2+c) K(x1,x2)=tanh(x1x2+c)
      实际应用中,往往依赖先验知识,若无则选择高斯核函数。注意:使用高斯核函数前需要做feature scaling。
      在这里插入图片描述
  • SVM可以看成是一个两层的神经网络,一层做了特征映射,一层做了分类。
    核函数选特征,拉格朗日乘子法选支撑向量。和CNN相似,都是稀疏模型,部分连接。
  • SVR原理同SVM,都是找一个超平面,区别是SVM找最大间隔,SVR找最小距离和。
  • Hinge loss
    在这里插入图片描述
    在这里插入图片描述

调参:
在这里插入图片描述

  1. KKT条件:
    对于具有等式和不等式约束的一般优化问题:
    { m i n f ( x ) 最 值 问 题 s . t . g j ( x ) ≤ 0 j = 1 , 2 , 3 , . . . , n 不 等 式 约 束 h k ( x ) = 0 k = 1 , 2 , . . . . l 等 式 约 束 \begin{cases} min f(x) \quad \quad 最值问题 \\ s.t. g_{j}(x) \leq 0 \quad j=1,2,3,...,n \quad 不等式约束 \\ h_{k}(x) = 0 \quad \quad k=1,2,....l \quad 等式约束 \end{cases} minf(x)s.t.gj(x)0j=1,2,3,...,nhk(x)=0k=1,2,....l
    KKT条件给出了判断 x ∗ x^{*} x是否为最优解的必要条件:
    { ∂ f ∂ x i + ∑ j = 1 m μ j ∂ g j ∂ x i + ∑ k = 1 l λ k ∂ h k ∂ x i = 0 i = 1 , 2 , 3 , . . . . , n h k ( x ) = 0 k = 1 , 2 , 3 , . . . . , l μ j g j ( x ) = 0 j = 1 , 2 , 3 , . . . , n μ j ≥ 0 \begin{cases} \frac{\partial f}{\partial x_{i}}+\sum_{j=1}^{m}\mu_{j}\frac{\partial g_{j}}{\partial x_{i}}+\sum_{k=1}^{l}\lambda_{k}\frac{\partial h_{k}}{\partial x_{i}} = 0 \quad i = 1,2,3,....,n \\ h_{k}(x) = 0 \quad k = 1,2,3,....,l \\ \mu_{j}g_{j}(x) = 0 \quad j=1,2,3,...,n\\ \mu_{j} \geq 0 \end{cases} xif+j=1mμjxigj+k=1lλkxihk=0i=1,2,3,....,nhk(x)=0k=1,2,3,....,lμjgj(x)=0j=1,2,3,...,nμj0
  • 等式约束优化问题,这一部分其实就是Langrange乘数法。
  • 不等式约束优化问题:
    转化思想:将不等式约束条件转化为等式约束条件
    具体做法:引入松弛变量,松弛变量也是优化变量,求导时需要一起计算。
    可以参考:https://zhuanlan.zhihu.com/p/38163970
  1. sklearn逻辑图
    在这里插入图片描述
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值