Bootstrap

读书笔记-白话机器学习的数学

回归

线性回归

步骤

  1. 训练数据,画图
  2. 预测函数和目标函数
    • 初始值是随机的
    • 最小二乘法
    • 1 2 \frac{1}{2} 21 是方便计算加的
  3. 梯度下降法
    • 学习率 η \eta η
  4. 复合函数微分的链式法则
  5. 参数更新表达式
  6. 演示程序
  7. 标准化
    • 差值阈值,跳出训练

公式

预测函数:
f θ ( x ) = θ 0 + θ 1 x f_\theta(x)= \theta_0 + \theta_1x fθ(x)=θ0+θ1x
目标函数(误差函数):
E ( θ ) = 1 2 ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) 2 E(\theta) = \frac{1}{2}\sum_{i=1}^{n}(y^{(i)} - f_\theta(x^{(i)}))^2 E(θ)=21i=1n(y(i)fθ(x(i)))2
梯度下降法表达式:
θ 0 : = θ 0 − η ∂ E ∂ θ 0 \theta_0 := \theta_0 - \eta\frac{\partial E}{\partial \theta_0} θ0:=θ0ηθ0E
链式法则:
u = E ( θ ) v = f θ ( x ) ∂ u ∂ θ 0 = ∂ u ∂ v ⋅ ∂ v ∂ θ 0 u= E(\theta) \\ v = f_\theta(x) \\ \frac{\partial u}{\partial \theta_0} = \frac{\partial u}{\partial v}\cdot\frac{\partial v}{\partial \theta_0} u=E(θ)v=fθ(x)θ0u=vuθ0v

参数更新表达式:

u u u v v v 的微分

∂ u ∂ v = ∂ ∂ v ( 1 2 ∑ i = 1 n ( y ( i ) − v ) 2 ) = 1 2 ∑ i = 1 n ( ∂ ∂ v ( y ( i ) − v ) 2 ) = 1 2 ∑ i = 1 n ( ∂ ∂ v ( y ( i ) 2 + v 2 − 2 y ( i ) v ) ) = 1 2 ∑ i = 1 n ( 2 v − 2 y ( i ) ) = ∑ i = 1 n ( v − y ( i ) ) \frac{\partial u}{\partial v}=\frac{\partial}{\partial v}(\frac{1}{2}\sum_{i=1}^{n}(y^{(i)} - v)^2) \\ = \frac{1}{2}\sum_{i=1}^{n}(\frac{\partial}{\partial v}(y^{(i)} - v)^2) \\ = \frac{1}{2}\sum_{i=1}^{n}(\frac{\partial}{\partial v}(y^{(i)^2} + v^2 - 2y^{(i)}v)) \\ = \frac{1}{2}\sum_{i=1}^{n}(2v - 2y^{(i)}) \\ = \sum_{i=1}^{n}( v - y^{(i)}) vu=v(21i=1n(y(i)v)2)=21i=1n(v(y(i)v)2)=21i=1n(v(y(i)2+v22y(i)v))=21i=1n(2v2y(i))=i=1n(vy(i))

v v v θ 0 \theta_0 θ0 的微分

∂ v ∂ θ 0 = ∂ ∂ θ 0 ( θ 0 + θ 1 x ) = 1 \frac{\partial v}{\partial \theta_0} = \frac{\partial}{\partial \theta_0}(\theta_0 + \theta_1x) \\ = 1 θ0v=θ0(θ0+θ1x)=1
u u u θ 0 \theta_0 θ0 的微分

∂ u ∂ θ 0 = ∂ u ∂ v ⋅ ∂ v ∂ θ 0 = ∑ i = 1 n ( v − y ( i ) ) ⋅ 1 = ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) \frac{\partial u}{\partial \theta_0} = \frac{\partial u}{\partial v}\cdot\frac{\partial v}{\partial \theta_0} \\ = \sum_{i=1}^{n}( v - y^{(i)})\cdot 1\\ = \sum_{i=1}^{n}( f_\theta(x^{(i)}) - y^{(i)}) θ0u=vuθ0v=i=1n(vy(i))1=i=1n(fθ(x(i))y(i))
θ 0 \theta_0 θ0 的参数更新表达式:
θ 0 : = θ 0 − η ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) \theta_0 := \theta_0 - \eta\sum_{i=1}^{n}( f_\theta(x^{(i)}) - y^{(i)}) θ0:=θ0ηi=1n(fθ(x(i))y(i))
同理, θ 1 \theta_1 θ1 的参数更新表达式:
θ 1 : = θ 1 − η ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) x ( i ) \theta_1 := \theta_1 - \eta\sum_{i=1}^{n}( f_\theta(x^{(i)}) - y^{(i)})x^{(i)} θ1:=θ1ηi=1n(fθ(x(i))y(i))x(i)

使用矩阵表示

预测函数:
f θ ( x ) = θ 0 + θ 1 x f_\theta(x)= \theta_0 + \theta_1x fθ(x)=θ0+θ1x
使用向量表示:
θ ⃗ = [ θ 0 θ 1 ] x ( i ) ⃗ = [ 1 x ( i ) ] \vec{\theta} = \begin{bmatrix} \theta_0 \\ \theta_1\end{bmatrix} \qquad \vec{x^{(i)}} = \begin{bmatrix} 1 \\ x^{(i)} \end{bmatrix} θ =[θ0θ1]x(i) =[1x(i)]

优化算法

  • 最速梯度下降法的缺点
    • 计算量大
    • 容易陷入局部最优解
  • 随机梯度下降
    • 随机选择一个训练数据来更新参数
    • 最速下降法更新一次,随机梯度下降法可以更新 n 次
  • 小批量梯度下降法
    • 随机选择 m 个训练数据来更新参数

问题

为什么要使用梯度下降法,直接求导不行吗?

  1. 确定不了导数为 0 的时候,是最大值还是最小值
  2. 计算机更擅长循环迭代的方式求解
  3. 多元表达式无法直接求解

为什么使用标准化?

  • 提升模型精度
  • 提升收敛速度
  • 不改变原始数据的分布

为什么是用 python 作为 AI 的主流语言?

  • 广泛的库和框架选择
  • 平台独立性

学习率如何决定?

目前只能通过反复尝试来找到合适的值

扩展

  • 多重回归
    • 对参数进行标准化,校验时需要使用相同的平均数和标准差
  • 多项式回归

分类

感知机

  • 只能处理线性可分的情况
  • 可以处理三维以上的数据

步骤

  1. 训练数据,画图
    • 矩形为横向还是纵向
  2. 预测函数和目标函数
    • x ⃗ \vec{x} x w ⃗ \vec{w} w 为向量
    • 内积正负说明相似程度
    • 无目标函数
  3. 参数更新表达式
    • 寻找使权重向量成为法线向量的直线
    • 通过向量的相加实现权重的更新
  4. 演示程序
    • 指定训练次数

公式

预测函数(判别函数):
f w ( x ) = { 1 ( w ⋅ x ≥ 0 ) − 1 ( w ⋅ x < 0 ) f_\bold{w}(\bold{x}) = \begin{cases} 1 & (\bold{w \cdot x} \geq 0) \\ -1 & (\bold{w \cdot x} < 0) \\ \end{cases} fw(x)={11(wx0)(wx<0)
参数更新表达式:
w : = { w + y ( i ) x ( f w ( x ( i ) ) ≠ y ( i ) ) w \bold{w} := \begin{cases} \bold{w} + y^{(i)}\bold{x} & (f_\bold{w}(\bold{x}^{(i)}) \neq y^{(i)}) \\ \bold{w} \\ \end{cases} w:={w+y(i)xw(fw(x(i))=y(i))

逻辑回归

  • y 值使用 0 和 1 处理更加方便
  • 训练数据
    • 线性可分
    • 同感知机
  • 预测函数
    • θ T x = 0 \bold{\theta}^T\bold{x} = 0 θTx=0 时,值为 0.5
    • 函数值在(0,1)范围内
    • θ T x = 0 \bold{\theta}^T\bold{x} = 0 θTx=0 时的直线称为决策边界
  • 目标函数
    • 似然函数,Likelihood
    • 求使目标函数最大化的参数 θ \bold{\theta} θ
  • 参数更新表达式
    • l o g ( 1 − v ) log(1-v) log(1v) 同样使用复合函数求导公式进行微分
    • 指定训练次数

公式

sigmoid函数:
σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1+e^{-x}} σ(x)=1+ex1
在这里插入图片描述

常用导数:
( e x ) ′ = e x ( e − x ) ′ = − e − x (e^x)' = e^x \\ (e^{-x})' = -e^{-x} (ex)=ex(ex)=ex
sigmoid函数微分:

σ ′ ( x ) = − ( 1 + e − x ) ′ ( 1 + e − x ) 2 = e − x ( 1 + e − x ) 2 = 1 1 + e − x − 1 ( 1 + e − x ) 2 = σ ( x ) ( 1 − σ ( x ) ) \sigma'(x) = -\frac{(1 + e^{-x})'}{(1+e^{-x})^2} \\ = \frac{e^{-x}}{(1+e^{-x})^2} \\ = \frac{1}{1+e^{-x}} - \frac{1}{(1+e^{-x})^2} \\ = \sigma(x)(1 - \sigma(x)) σ(x)=(1+ex)2(1+ex)=(1+ex)2ex=1+ex1(1+ex)21=σ(x)(1σ(x))
预测函数:
f θ ( x ) = 1 1 + exp ⁡ ( − θ T x ) θ T x = ( θ 0 x 0 + θ 1 x 1 + … + θ n x n ) f_\bold{\theta}(\bold{x}) = \frac{1}{1+\exp(-\bold{\theta}^T\bold{x})}\\ \bold{\theta}^T\bold{x} = (\theta_0x_0 + \theta_1x_1 + \ldots + \theta_nx_n) fθ(x)=1+exp(θTx)1θTx=(θ0x0+θ1x1++θnxn)
阈值函数:
y = { 1 ( θ T x ≥ 0 ) 0 ( θ T x < 0 ) y = \begin{cases} 1 & (\bold{\theta}^T\bold{x} \geq 0) \\ 0 & (\bold{\theta}^T\bold{x} < 0)\\ \end{cases} y={10(θTx0)(θTx<0)
未知数据 x \bold{x} x是横向图像的概率:
P ( y = 1 ∣ x ) = f θ ( x ) P(y=1|\bold{x}) = f_\bold{\theta}(\bold{x}) P(y=1x)=fθ(x)
目标函数:
L ( θ ) = ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) L(\bold{\theta}) = \prod_{i=1}^n P(y^{(i)}=1|\bold{x}^{(i)})^{y^{(i)}}P(y^{(i)}=0|\bold{x}^{(i)})^{1-y^{(i)}} L(θ)=i=1nP(y(i)=1x(i))y(i)P(y(i)=0x(i))1y(i)
对数似然函数:
log ⁡ L ( θ ) = log ⁡ ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) = ∑ i = 1 n ( log ⁡ P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) + log ⁡ P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) ) = ∑ i = 1 n ( y ( i ) log ⁡ P ( y ( i ) = 1 ∣ x ( i ) ) + ( 1 − y ( i ) ) log ⁡ P ( y ( i ) = 0 ∣ x ( i ) ) ) = ∑ i = 1 n ( y ( i ) log ⁡ P ( y ( i ) = 1 ∣ x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − P ( y ( i ) = 1 ∣ x ( i ) ) ) ) = ∑ i = 1 n ( y ( i ) log ⁡ f θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − f θ ( x ( i ) ) ) ) \log L(\bold{\theta}) = \log \prod_{i=1}^n P(y^{(i)}=1|\bold{x}^{(i)})^{y^{(i)}}P(y^{(i)}=0|\bold{x}^{(i)})^{1-y^{(i)}} \\ = \sum_{i=1}^n(\log P(y^{(i)}=1|\bold{x}^{(i)})^{y^{(i)}} + \log P(y^{(i)}=0|\bold{x}^{(i)})^{1-y^{(i)}}) \\ = \sum_{i=1}^n(y^{(i)}\log P(y^{(i)}=1|\bold{x}^{(i)}) + (1-y^{(i)})\log P(y^{(i)}=0|\bold{x}^{(i)})) \\ = \sum_{i=1}^n(y^{(i)}\log P(y^{(i)}=1|\bold{x}^{(i)}) + (1-y^{(i)})\log(1-P{(y^{(i)}=1|\bold{x}^{(i)})})) \\ = \sum_{i=1}^n(y^{(i)}\log f_\bold{\theta}(\bold{x}^{(i)}) + (1-y^{(i)})\log(1-{f_\bold{\theta}(\bold{x}^{(i)})})) logL(θ)=logi=1nP(y(i)=1x(i))y(i)P(y(i)=0x(i))1y(i)=i=1n(logP(y(i)=1x(i))y(i)+logP(y(i)=0x(i))1y(i))=i=1n(y(i)logP(y(i)=1x(i))+(1y(i))logP(y(i)=0x(i)))=i=1n(y(i)logP(y(i)=1x(i))+(1y(i))log(1P(y(i)=1x(i))))=i=1n(y(i)logfθ(x(i))+(1y(i))log(1fθ(x(i))))
复合函数:
u = log ⁡ L ( θ ) v = f θ ( x ) u = \log L(\bold{\theta}) \\ v = f_\bold{\theta}(\bold{x}) u=logL(θ)v=fθ(x)
参数更新表达式:

u u u v v v的微分
∂ u ∂ v = ∂ ∂ v ∑ i = 1 n ( y ( i ) log ⁡ ( v ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − v ) ) = ∑ i = 1 n ( y ( i ) v − 1 − y ( i ) 1 − v ) \frac{\partial u}{\partial v} = \frac{\partial }{\partial v}\sum_{i=1}^n(y^{(i)}\log(v)) + (1-y^{(i)})\log(1-{v})) \\ = \sum_{i=1}^n(\frac{y^{(i)}}{v} - \frac{1-y^{(i)}}{1-v}) \\ vu=vi=1n(y(i)log(v))+(1y(i))log(1v))=i=1n(vy(i)1v1y(i))
v v v θ j \theta_j θj 微分
∂ v ∂ θ j = ∂ ∂ θ j 1 1 + exp ⁡ ( − θ T x ) = v ( 1 − v ) ⋅ x j \frac{\partial v}{\partial \theta_j} = \frac{\partial }{\partial \theta_j}\frac{1}{1+\exp(-\bold{\theta}^T\bold{x})} \\ = v(1-v)\cdot x_j θjv=θj1+exp(θTx)1=v(1v)xj
u u u θ j \theta_j θj 微分
∂ u ∂ θ j = ∂ u ∂ v ⋅ ∂ v ∂ θ j = ∑ i = 1 n ( y ( i ) v − 1 − y ( i ) 1 − v ) ⋅ v ( 1 − v ) ⋅ x j ( i ) = ∑ i = 1 n ( y ( i ) ( 1 − v ) − ( 1 − y ( i ) ) v ) x j ( i ) = ∑ i = 1 n ( y ( i ) − y ( i ) v − v + y ( i ) v ) x j ( i ) = ∑ i = 1 n ( y ( i ) − v ) x j ( i ) = ∑ i = 1 n ( y ( i ) − f θ ( x ) ) x j ( i ) \frac{\partial u}{\partial \theta_j} = \frac{\partial u}{\partial v}\cdot\frac{\partial v}{\partial \theta_j} \\ = \sum_{i=1}^n(\frac{y^{(i)}}{v} - \frac{1-y^{(i)}}{1-v}) \cdot v(1-v)\cdot x_j^{(i)} \\ = \sum_{i=1}^n(y^{(i)}(1-v) - (1-y^{(i)})v)x_j^{(i)} \\ = \sum_{i=1}^n(y^{(i)}-y^{(i)}v-v+y^{(i)}v)x_j^{(i)} \\ = \sum_{i=1}^n(y^{(i)}-v)x_j^{(i)} \\ = \sum_{i=1}^n(y^{(i)}-f_\bold{\theta}(\bold{x}))x_j^{(i)} θju=vuθjv=i=1n(vy(i)1v1y(i))v(1v)xj(i)=i=1n(y(i)(1v)(1y(i))v)xj(i)=i=1n(y(i)y(i)vv+y(i)v)xj(i)=i=1n(y(i)v)xj(i)=i=1n(y(i)fθ(x))xj(i)
θ j \theta_j θj 的参数更新表达式:
θ j = θ j + η ∑ i = 1 n ( y ( i ) − f θ ( x ) ) x j ( i ) \theta_j = \theta_j + \eta\sum_{i=1}^n(y^{(i)} - f_\bold{\theta}(\bold{x}))x_j^{(i)} θj=θj+ηi=1n(y(i)fθ(x))xj(i)
θ j \theta_j θj 的参数更新表达式(和回归时保持一致):
θ j = θ j − η ∑ i = 1 n ( f θ ( x ) − y ( i ) ) x j ( i ) \theta_j = \theta_j - \eta\sum_{i=1}^n(f_\bold{\theta}(\bold{x}) - y^{(i)})x_j^{(i)} θj=θjηi=1n(fθ(x)y(i))xj(i)
决策边界:
θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 x 2 = − θ 0 + θ 1 x 1 θ 2 \bold{\theta}^T\bold{x} = \theta_0 + \theta_1x_1 + \theta_2x_2 \\ x_2 = - \frac{\theta_0 + \theta_1x_1}{\theta_2} θTx=θ0+θ1x1+θ2x2x2=θ2θ0+θ1x1

线性不可分

  • 多项式函数
  • 决策边界为曲线

决策边界:
θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 x 2 = − θ 0 + θ 1 x 1 + θ 3 x 1 2 θ 2 \bold{\theta}^T\bold{x} = \theta_0 + \theta_1x_1 + \theta_2x_2 + \theta_3x_1^2 \\ x_2 = - \frac{\theta_0 + \theta_1x_1 + \theta_3x_1^2}{\theta_2} θTx=θ0+θ1x1+θ2x2+θ3x12x2=θ2θ0+θ1x1+θ3x12

扩展

  • SVM 分类算法
  • 其他分类算法

正则化

  1. 确定正则化项
    • λ \lambda λ 表示正则化项影响程度
  2. 重定义目标函数
  3. 重定义参数更新表达式

公式

L2正则化项:
R ( θ ) = λ 2 ∑ j = 1 m θ j 2 R(\theta) = \frac{\lambda}{2}\sum_{j=1}^{m}\theta_j^2 R(θ)=2λj=1mθj2
目标函数:
E ( θ ) = 1 2 ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) 2 + λ 2 ∑ j = 1 m θ j 2 E(\theta) = \frac{1}{2}\sum_{i=1}^{n}(y^{(i)} - f_\theta(\bold{x}^{(i)}))^2 + \frac{\lambda}{2}\sum_{j=1}^{m}\theta_j^2 E(θ)=21i=1n(y(i)fθ(x(i)))2+2λj=1mθj2

参数更新表达式:
θ 0 : = θ 0 − η ( ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) x j ( i ) ) θ j : = θ j − η ( ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ θ j ) ) ( j > 0 ) \theta_0 := \theta_0 - \eta(\sum_{i=1}^{n}( f_\theta(\bold{x}^{(i)}) - y^{(i)})x_j^{(i)}) \\ \theta_j := \theta_j - \eta(\sum_{i=1}^{n}( f_\theta(\bold{x}^{(i)}) - y^{(i)})x_j^{(i)} + \lambda\theta_j)) \qquad (j>0) θ0:=θ0η(i=1n(fθ(x(i))y(i))xj(i))θj:=θjη(i=1n(fθ(x(i))y(i))xj(i)+λθj))(j>0)

基础

  • 误差函数

    • MSE(Mean Square Error, 均方误差), 1 n ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) 2 \frac{1}{n}\sum_{i=1}^n(y^{(i)} - f_\bold{\theta}(\bold{x}^{(i)}))^2 n1i=1n(y(i)fθ(x(i)))2
    • SSE(The Sum Of Squares Due To Error, 和方差)
    • RMSE(Root Mean Squared Error, 均方根误差)
  • 容量

    • batchsize:批大小
    • iteration:1 个iteration 等于使用 batchsize 个样本训练一次
    • epoch:1个epoch等于使用训练集中的全部样本训练一次
  • 随机梯度下降法(Stochastic Gradient Descent,SGD)

模型评估

  • 交叉验证:将数据按一定比例分为测试数据和训练数据,一般为 3:7 或者 2:8
  • 数据的分配方法不能太极端
  • 回归问题:均方误差
  • 计算精确率和召回率时使用数据少的类别
  • K 折交叉验证:需要确定一个合适的 K 值
  • 学习曲线:通过学习曲线判断模型是过拟合还是欠拟合
    • 高偏差(欠拟合):随着数据数量的增加,使用训练数据时的精度不断下降,使用测试数据时的精度不断上升
    • 高方差(过拟合):随着数据数量的增加,使用训练数据时的精度缓慢,使用测试数据时的精度不断上升,但是达不到训练数据精度

分类问题

  • 精度

A c c u r a c y = T P + T N T P + F P + F N + T N Accuracy = \frac{TP + TN}{TP + FP + FN + TN} Accuracy=TP+FP+FN+TNTP+TN

  • 精确率:当训练数据极不平衡时,在分类为 Positive 的数据中,分类正确的比例

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP + FP} Precision=TP+FPTP

  • 召回率:在 Positive 数据中,分类正确的比例
    R e c a l l = T P T P + F N Recall = \frac{TP}{TP + FN} Recall=TP+FNTP

  • 一般来说,精确率和召回率会一个高一个低,不能取平均值

  • 调和平均值F1值
    F m e a s u r e = 2 1 P r e c i s i o n + 1 R e c a l l F m e a s u r e = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l Fmeasure = \frac{2}{\frac{1}{Precision} + \frac{1}{Recall}} \\ \\ Fmeasure = \frac{2 \cdot Precision \cdot Recall}{Precision + Recall} Fmeasure=Precision1+Recall12Fmeasure=Precision+Recall2PrecisionRecall

  • 权重调和平均值F值
    F m e a s u r e = ( 1 + β 2 ) ⋅ P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n + R e c a l l Fmeasure = \frac{(1 + \beta^2) \cdot Precision \cdot Recall}{\beta^2 \cdot Precision + Recall} Fmeasure=β2Precision+Recall(1+β2)PrecisionRecall

正则化

过拟合
  • 过拟合:只能拟合训练数据
  • 避免过拟合
    • 增加全部训练数据的数量(重要)
    • 使用简单的模型,例:将预测函数从曲线变成直线
    • 正则化
  • 欠拟合:一般模型过于简单
正则化
  • 防止参数变得过大,减少参数的影响,对参数进行惩罚
  • 不对偏置项进行正则化
  • λ \lambda λ 为正则化项影响程度
  • 线性回归的正则化
    E ( θ ) = 1 2 ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) 2 R ( θ ) = λ 2 ∑ j = 1 m θ j 2 E(\theta) = \frac{1}{2}\sum_{i=1}^{n}(y^{(i)} - f_\theta(x^{(i)}))^2 \\ R(\theta) = \frac{\lambda}{2}\sum_{j=1}^{m}\theta_j^2 E(θ)=21i=1n(y(i)fθ(x(i)))2R(θ)=2λj=1mθj2
  • 分类函数的正则化,改变目标函数的符号将最大化问题转换为最小化问题
    log ⁡ L ( θ ) = − ∑ i = 1 n ( y ( i ) log ⁡ f θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − f θ ( x ( i ) ) ) ) + λ 2 ∑ j = 1 m θ j 2 \log L(\bold{\theta}) = -\sum_{i=1}^n(y^{(i)}\log f_\bold{\theta}(\bold{x}^{(i)}) + (1-y^{(i)})\log(1-{f_\bold{\theta}(\bold{x}^{(i)})})) + \frac{\lambda}{2}\sum_{j=1}^{m}\theta_j^2 logL(θ)=i=1n(y(i)logfθ(x(i))+(1y(i))log(1fθ(x(i))))+2λj=1mθj2
  • L1 正则化:被判定为不需要的参数为变为 0
    R ( θ ) = λ ∑ j = 1 m ∣ θ j ∣ R(\theta) = \lambda\sum_{j=1}^{m}|\theta_j| R(θ)=λj=1mθj
  • L2 正则化:抑制参数
    R ( θ ) = λ 2 ∑ j = 1 m θ j 2 R(\theta) = \frac{\lambda}{2}\sum_{j=1}^{m}\theta_j^2 R(θ)=2λj=1mθj2

参考

  • 数据集 Iris

待学习

  • numpy
  • Matplotlib Pyplot
;