Skip to main content

Command Palette

Search for a command to run...

Latest articles

  1. <Programming with Types>随想: Chapter 2. Basic types

    类型限制了一个变量可以接受的有效值的集合,对数据可以进行的操作,数据的意义。 空类型(The empty type) 根据类型的定义,类型定义了可以接受的有效值集合,那么这个集合有没有可能为空?答案是有可能的,TypeScirpt 的 never 就是这种类型。 需要注意的是,空类型不同与 void, 后者是有效值集合当中只有一个值,但这个值没有任何意义。而空类型的有效值集合本身是空的。 使用场景 控制流分析 在函数调用时,标志一个函数不会返回任何值: 在调用过程中抛出异常、死循环或者程序崩溃...

    Mar 5, 2023
    <Programming with Types>随想: Chapter 2. Basic types
  2. 精读《设计机器学习系统》-ch04: 训练数据

    不同于 Chapter03 从系统的角度来处理数据,这一章从数据科学的视角来处理数据。这章的标题是“training Data”,而非“training dataset”,因为 数据集(dataset) 意味着有限(finite)和固定(stationary), 而现实生产环境中的 数据(data) 通常是 无限 并且 不固定 的。 抽样 抽样方法在 ML 项目的生命周期中无处不在,在这一节中,我们使用生成训练数据作为例子。 那为什么需要抽样?直接使用全部数据不可以吗? 首先,在现实世界中,并不...

    Dec 10, 2022
    精读《设计机器学习系统》-ch04: 训练数据
  3. 精读《设计机器学习系统》-ch02: 机器学习系统设计导论

    业务和机器学习目标 对于大多数的算法/开发工程师,大部分关注机器学习模型的指标: 准确率, F1 score, 推理时耗等等,并且热衷于使用大量的资源(数据,计算量,开发时间)来获得微小的提升。 然而对于大部分的公司,并不关心以上的机器学习指标,诺贝尔奖获得者 Milton Friedman 指出,大部分公司的关心的是“能否提升股东们的收益”。 任何业务的终极目标都是这个,提升用户满意度,增加用户市场,提升点击率等等目标,都直接或者间接和它相关。 对于一个在商业组织成功的机器学习模型,如果想要...

    Nov 24, 2022
    精读《设计机器学习系统》-ch02: 机器学习系统设计导论
  4. 《深度学习入门》的cpp实现-ch06: 与学习相关的技巧

    上一篇文章中,我们使用随机正态分布初始化神经网络的权重,SGD的方法更新参数,对于学习率、batch大小、权重衰减率等超参数选择了固定值,这篇文章我们会探讨对于这些做法的改进方案。 由于这一节涉及到众多方法, 并且要求网络结构复杂,不能逐一进行"cpp实现",理解原理并掌握即可(所以请把这篇文章当作读书笔记看待)。 参数的更新 SGD SGD公式如下 $$W \gets W - \eta \frac{\partial L}{\partial W} $$ SGD原理简单,并且在代码上容...

    Aug 24, 2022
    《深度学习入门》的cpp实现-ch06: 与学习相关的技巧
  5. 《深度学习入门》的cpp实现-ch05: 误差反向传播法

    上一节使用梯度更新的方法求神经网络的参数的梯度,虽然可行,但是耗时很多。这篇文章我们使用计算图(computational graph) 来进行计算损失函数对神经网络参数的梯队。 计算图 计算图是将计算过程用图形表示出来,将计算的的从左向右计算, 即由数据推理出结果,称为正向传播;将从右向左的传播,即由损失函数计算参数梯度,称为反向传播。 好处 使用计算图可以聚焦于局部计算,无论全局计算多么复杂,各个步骤只需要对输入输出做简单的计算。通过节点(算子)间的传递,可以获取全局复杂计算的结果。 使...

    Aug 20, 2022
    《深度学习入门》的cpp实现-ch05: 误差反向传播法
  6. 《深度学习入门》的cpp实现-ch04: 神经网络的学习

    上一篇文章中,我们加载了预先训练好的手写数字识别模型的权重和偏置,这一篇文章中会剖析下如何从数据中让机器自动学习得到模型参数。 从数据中学习 在传统的机器学习中,是需要人工从数据中提取出可以从输入数据(图像)中提取重要数据的转换器。然后使用这些特征量,将输入数据转换为向量,然后使用机器学习算法(SVM, KNN)等,进行学习,如下图。 对于深度学习,可以直接使用原始数据,进行“端到端”的学习。这里的“端到端”指的是从原始数据到目标结果的意思,因此深度学习也叫端到端的机器学习。 损失函数 在深度...

    Aug 14, 2022
    《深度学习入门》的cpp实现-ch04: 神经网络的学习