Loading... # 2021.6.21 周记 ## 上一周的学习内容 ### 1. 机器学习的基本概念简介 机器学习的本质是寻找一个 `函数(function)`, 来寻找一个 `输入(input)` 与 `输出output` 之间的映射关系. 根据函数输出结果, 可以分为 `回归(Regression)`, `分类(Classification)`, `结构化学习(Structured Learning)` 三类 通常机器学习框架分为三个部分, 1. 建立模型 - 建立一个含有未知参数的函数, 即`模型(Model)`. 比如 $y=b+wx_1$ 2. 定义损失函数 - 用训练数据定义损失Loss, 如 $L(b, w)$, $L$ 越小越好 - 通常的误差计算方式有: `MAE`, `MSE`, `Cross-entropy` 3. 优化参数 - 找到令 $L$ 最小的参数, 如求 $w^*, b^*=arg \min_{w,b}L$ - 优化方式: `梯度下降(Gradient Descend)` ### 2. 深度学习的基本概念简介 通常线性模型太简单无法拟合复杂的真实情况, 需要多种函数叠加来进行拟合. #### Sigmoid Function $$ \begin{aligned} y & = c\frac{1}{1+e^{-(b+wx_1)}} \\ & = c\ sigmoid(b+wx_1) \end{aligned} $$ 通过多个 `Sigmoid Function` 组合,可以得到新的模型函数: $$ y = b + \sum_i c_i\ sigmoid(b_i+w_i x_1) $$ 通过组合而成的模型拥有更多的 `Features`, 使用线性代数方式表示: $$ r = b + Wx $$ 除了`Sigmoid`, `ReLU` 也可以替换 `Sigmoid` 获得更好的效果. 通常将 `Sigmoid function` 和 `ReLU function` 等类似的函数称之为 `Activation function(激活函数)` 通常, 一个 `Sigmoid` 就是一个 `neuron`, 很多个 `neuron` 就组成了`neural network(神经网络)`. `neuron` 层叫 `layer`, 输入输出之外的层叫`hidden layer`. 有很多层就叫 `Deep learning` ### 3. 模型评估方法 #### 经验误差与过拟合 我们希望用在`训练集`上训练的模型, 可以在 `新样本` 中进行使用. - `训练误差`: 在训练集中的模型误差 - `泛化误差`: 在新样本中的模型误差 在训练样本学习到过好, 把训练样本所包含不一般的特性都学到了, 通常称作 `过拟合`. 过拟合是无法消除的, 只能尽量减小或缓解. #### 评估方法 #### 1. 流出法 将大约 $2/3$ 或者 $4/5$ 的样本用于训练, 剩余样本用于测试 #### 2. 交叉验证法 将数据分成 $k$ 份, 每次用 $k-1$ 个子集的并集作为训练集, 余下的那个子集作为测试集. 这样就可获得 $k$ 组测试集, 从而可进行 $k$ 次训练和测试. 常见的有10折交叉验证. #### 3. 自助法 有 $m$ 个样本数据集 $D$, 进行采样得到 $D'$. 每次随机从 $D$ 中挑选一个样本将其拷贝放入 $D'$, 然后再将该样本放回初始数据集 $D$ 中. 重复执行 $m$ 次后就得到了包含 $m$ 个样本的数据集 $D'$ 根据极限 $$ \lim_{m\to\infty}(1-\frac{1}{m})^m = \frac{1}{e} \approx 0.368 $$ 通过自主采样, $D$ 中有 $36.8\%$ 的样本未出现在采样数据集 $D'$ 中. 使用$D'$ 作为训练集, 剩下 $36\%$ 作为测试集 ## 本周学习计划 1. 模型性能度量, 比较检验. (周志华 <<机器学习>> Ch.2) 2. 机器学习的几类线性模型. (周志华 <<机器学习>> Ch.3) 3. 类神经网络的几个要点. (李宏毅2021春机器学习课程 Ch.2) 4. CNN模型 (李宏毅2021春机器学习课程 Ch.3) 5. PyTorch的安装和一些基本语法 最后修改:2021 年 07 月 26 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏