Wener Site

CS221 Artificial Intelligence - Reflex

约 2 分钟阅读

Reflex Based Models

Reflex agent : 1. 从环境中获取输入 : 2. 通过预测器,预测输出 : 3. 输出结果

非线性

Quadratic predictors : 二次预测器

Quadratic clasifiers : 二次分类器 : Decision boundary - 一个圆

Piecewise constant predictors : 分段常数预测器

Predictors with periodicity structure : 周期性结构预测器

Linear predictors

feature template : 特征模板 : group of features all computed in a similar way : e.g. 字符串 以 .com,.cn 结尾

  • dense feature
  • sparse feature
    • 大量 0

Linear classifier

 fw(x)=sign(s(x,w))={+1if w⋅ϕ(x)>0−1if w⋅ϕ(x)<0?if w⋅ϕ(x)=0\ f_w(x)= sign(s(x,w)) = \begin{cases} +1 & \text{if} \space w \cdot \phi(x) > 0 \\ -1 & \text{if} \space w \cdot \phi(x) < 0 \\ ? & \text{if} \space w \cdot \phi(x) = 0 \end{cases}

Margin

  • larger values are better
m(x,y,w)=s(x,w)×ym(x,y,w) = s(x,w) \times y

Linear regression

fw(x)=s(x,w)=w⋅ϕ(x)f_w(x) = s(x,w) = w \cdot \phi(x)

Residual

amount by which the prediction fw(x)f_w(x) overshoots the target yy

r(x,y,w)=fw(x)−y=s(x,w)−yr(x,y,w) = f_w(x) - y = s(x,w) - y

Loss minimization

Loss function : 损失函数 : Loss(x,y,w)Loss(x,y,w) : weights ww, output yy, input xx.

Classification case : 分类问题

NameZero-one lossHinge lossLogistic loss
Loss1m(x,y,w)<=01_{m(x,y,w) <= 0}max(1−m(x,y,w),0)\text{max}(1−m(x,y,w),0)log(1+e−m(x,y,w))\text{log}(1+e^{−m(x,y,w)})
Illustration

Regression case

NameSquared lossAbsolute deviation loss
Loss(x,y,w)\textrm{Loss}(x,y,w)(res(x,y,w))2(\textrm{res}(x,y,w))^2∥res(x,y,w)∥\|\textrm{res}(x,y,w)\|
Illustration

Zero-one loss

Loss0−1(x,y,w)=1[fw(x)≠y]=1[(w⋅ϕ(x))y⏟margin≤0]\begin{alignat*}{2} \text{Loss}_{0-1}(x,y,\text{w}) &= 1[f_\text{w}(x) \ne y] \\ &= 1[ \underbrace{ (\text{w} \cdot \phi(x)) y }_{\text{margin}} \le 0 ] \end{alignat*}

Logistic regression

Looslogistic(x,y,w)=log(1+e−m(x,y,w))\textrm{Loos}_\text{logistic}(x,y,w) = \text{log}(1+e^{−m(x,y,w)})

Loss minimization framework

TrainLoss(w)=1∣Dtrain∣∑(x,y)∈DtrainLoss(x,y,w)\textrm{TrainLoss}(w)=\frac{1}{|\mathcal{D}_{\textrm{train}}|}\sum_{(x,y)\in\mathcal{D}_{\textrm{train}}}\textrm{Loss}(x,y,w)

group DRO : Group distributionally robust optimization

TrainLoosmax(w)=maxgTrainLoosg(w)\textrm{TrainLoos}_\text{max}(w) = \underset{g}{\text{max}} \textrm{TrainLoos}_g(w) ∇TrainLoosmax(w)=∇TrainLoosg*(w)where g*=argmaxgTrainLossg(w)\nabla\textrm{TrainLoos}_\text{max}(\mathbf{w}) = \nabla \textrm{TrainLoos}_{\text{g}^\text{*}} (\mathbf{w}) \\ \text{where } g^\text{*}=\underset{g}{\text{argmax}} \text{TrainLoss}_g(\mathbf{w})

Non-linear predictors

kk-nearest neighbors : KNN : kk相邻 : 用于分类、回归

  • kk
    • 与 bias 成正比
    • 与 variance 成反比

Neural networks : 神经网络

zj[i]=wj[i]Tx+bj[i]z_j^{[i]}={w_j^{[i]}}^Tx+b_j^{[i]}
  • w - weight
  • b - bias
  • x - input
  • z - non-activated output

Stochastic gradient descent

Gradient descent : 梯度下降

w⟵w−η∇wLoss(x,y,w)w\longleftarrow w-\eta\nabla_w \textrm{Loss}(x,y,w)
  • η∈R\eta \in \mathbb R
    • learning rate - step size
    • 学习速率 - 每次更新多少

Stochastic gradient descent - SGD : 随机梯度下降 : Stochastic updates - 每次训练更新

Batch gradient descent - BGD : 批量梯度下降 : Batch updates - 一次训练集更新一次

Fine-tuning models

Hypothesis class : 假设类 : F={fw:w∈Rd}\mathcal{F}=\left\{f_w:w\in\mathbb{R}^d\right\}

Logistic function : 逻辑函数 : σ\sigma - sigmoid function

∀z∈]−∞,+∞[,σ(z)=11+e−z\boxed{\forall z\in]-\infty,+\infty[,\quad\sigma(z)=\frac{1}{1+e^{-z}}} σ′(z)=σ(z)(1−σ(z))\sigma'(z)=\sigma(z)(1-\sigma(z))

Backpropagation : 后向传播 : gi=∂out∂fig_i=\frac{\partial\textrm{out}}{\partial f_i}

Approximation error : hypothesis <-> predictor : ϵapprox\epsilon_\text{approx}

Estimation error : predictor <-> best predictor : ϵest\epsilon_\text{est}

  • Regularization
    • keep the model from overfitting
    • LASSO
      • Shrinks coefficients to 0
      • Good for variable selection
    • Ridge
      • Makes coefficients smaller
    • Elastic Net
      • Tradeoff between variable selection and small coefficients
  • Hyperparameters
  • Sets vocabulary
Training setValidation setTesting set
训练集验证集
hold-out
development set
测试集
Dtrain\mathcal{D}_{\textrm{train}}Dtest\mathcal{D}_{\textrm{test}}
80%20%
用于训练模型用于估算模型模型未见过的数据

Unsupervised Learning

k-means

Clustering : n∈Dtrainn \in \mathcal D _ \textrm{train}, clustering 将点 ϕ(xi)\phi(x_i) 划分为 kk 类 zi∈{1,...,k}z_i \in \{1,...,k\}

Objective function : 初始化 clustering 的函数 : 选取 kk 个点作为初始的 kk 个 cluster 的中心点 : Lossk-means(x,μ)=∑i=1n∣∣ϕ(x∗i)−μ∗zi∣∣2\textrm{Loss}_{\textrm{k-means}}(x,\mu)=\sum_{i=1}^n||\phi(x*i)-\mu*{z_i}||^2

k-means : 1. 随机选取 kk 个点作为初始的 kk 个 cluster 的中心点 - Objective function 2. 计算每个点到 kk 个 cluster 的中心点的距离 - Algorithm 3. 将每个点划分到距离最近的 cluster 4. 重新计算每个 cluster 的中心点 5. 重复 2-4 直到收敛

Algorithm

z∗i=arg minj∣∣ϕ(xi)−μj∣∣2andμj=∑∗i=1n1∗{zi=j}ϕ(xi)∑∗i=1n1_{zi=j}\boxed{z*i=\underset{j}{\textrm{arg min}}||\phi(x_i)-\mu_j||^2}\quad\textrm{and}\quad\boxed{\mu_j=\frac{\displaystyle\sum*{i=1}^n1*{\{z_i=j\}}\phi(x_i)}{\displaystyle\sum*{i=1}^n1\_{\{z_i=j\}}}}

Principal Component Analysis

  • Eigenvalue, eigenvector
Az=λz\boxed{Az=\lambda z}

Spectral theorem

∃Λ diagonal,A=UΛUT\exists\Lambda\textrm{ diagonal},\quad A=U\Lambda U^T ϕ∗j(xi)←ϕj(xi)−μjσjwhereμj=1n∑∗i=1nϕ∗j(xi)andσj2=1n∑∗i=1n(ϕj(xi)−μj)2\boxed{\phi*j(x_i)\leftarrow\frac{\phi_j(x_i)-\mu_j}{\sigma_j}}\quad\textrm{where}\quad\boxed{\mu_j = \frac{1}{n}\sum*{i=1}^n\phi*j(x_i)}\quad\textrm{and}\quad\boxed{\sigma_j^2=\frac{1}{n}\sum*{i=1}^n(\phi_j(x_i)-\mu_j)^2}

Misc

  • y=w1x1+w2x2+...+wnxn+by = w_1x_1 + w_2x_2 + ... + w_nx_n + b
    • yy is the output
    • xix_i is the input
    • wiw_i is the weight
    • bb is the bias
  • 有监督学习
    • 有输入和输出
    • 输入是特征
    • 输出是标签
    • 通过学习输入和输出的关系, 从而预测未知的输出

关联信息

反向链接和本文引用的外部资料。

反向链接

  • CS221 AI - Principles and Techniques
    笔记 · Reflex-based models

    基于刺激的模型 - Reflex-based models · 基于状态的模型 - States-based models · 基于变量的模型 - variable · 基于逻辑的模型 - logic · https://www.youtube.com/watch?v=J8Eh7RqggsU&list=PLoROMvodv4rO1NB9TD4iUZ3q...

References

其他外链

6 条
最近更新commit 4abd350Edit

On this page