- Model层: React内部实现了对应的机制,提供相应的方法可以在更改状态的同时,通知View层重新渲染,但是React并不像Vue一样,没有对状态做任何的数据劫持,而是提供对应的方法,实现状态更新视图渲染:setState修改状态同时通知视图渲染,forceUpdate通知视图强制更新
考点:
比如问: linear regression 和 linear perceptron 有什么关系?step function 如何设计的?
- 基本结构相似性:
- 两者都使用线性组合 (wx + b)
- 都是用于分类/预测的基础模型
- 关键区别:
-
输出形式不同:
- 线性回归输出连续值
- 感知机通过阶跃函数(step function)输出离散值{0,1}或{-1,1}
- 关于步函数(Step Function)的设计:
-
最简单的形式是:
- 当wx + b > 0时,输出1
- 当wx + b ≤ 0时,输出0或-1
- 训练方法:
- 线性回归通常使用梯度下降最小化均方误差
- 感知机使用感知机学习规则,在误分类点进行权重更新
解释这三种梯度下降方法以及它们与batch learning和online learning的关系:
- Batch Gradient Descent (批量梯度下降)
- 使用整个训练数据集计算梯度
- 公式:θ = θ - η·∇θJ(θ, X^(1:end))
- 这就是典型的batch learning
- 特点:
- 每次更新使用所有数据
- 计算准确但速度慢
- 内存需求大
- Stochastic Gradient Descent (随机梯度下降)
- 每次只使用一个训练样本计算梯度
- 公式:θ = θ - η·∇θJ(θ, X^(i))
- 这就是典型的online learning
- 特点:
- 每次只用一个样本更新
- 速度快,但路径嘈杂
- 内存需求小
- Mini-batch Gradient Descent (小批量梯度下降)
- 每次使用n个样本计算梯度
- 公式:θ = θ - η·∇θJ(θ, X^(i:i+n))
- 是batch和online learning的折中方案
- 特点:
- 结合了前两者的优点
- 计算效率和内存使用都适中
- 实际应用中最常用
主要区别:
- Batch:稳定但慢
- Online:快但不稳定
- Mini-batch:平衡了速度和稳定性
在实践中,mini-batch是最常用的方法,因为它能够:
- 比batch方法更快收敛
- 比online方法更稳定
- 能够利用现代硬件的矩阵运算优势