thinklive

dirichlet library

欢迎来到迪瑞克拉

这里是thinklive的个人博客,不定时地会发一些个人技术学习心得和生活体会,申请友链可邮件联系
使用左侧的分类来定位内容
为了响应环保号召,并且给你的电脑省点电,推荐禁止浏览器的js功能,例如firefox浏览器可下载disable javascript插件禁用js
这意味着该网站的动态功能全部瘫痪,包括背景动效,加密页面,左侧的时钟,游戏等页面,但浏览普通博文的功能保持正常
可以通过左下角的"🌓"按钮切换白天/黑夜模式(功能测试中)
有时可能出现latex数学公式不渲染的bug,这时一般刷新页面就可以解决

建站指北

菜单的资源地图神龛是迪瑞克拉子站,分别用于存放资源网站和随笔,主站主要存放学习笔记或者一些公开的创作

迪瑞克拉的由来

狄利克雷函数(英语:dirichlet function)是一个定义在实数范围上、值域不连续的函数。狄利克雷函数的图像以Y轴为对称轴,是一个偶函数,它处处不连续,处处极限不存在,不可黎曼积分。这是一个处处不连续的可测函数。

在我看来它象征着混沌,不可知与无限的可能性,狄利克雷换一种方式音译就成了迪瑞克拉

更新日志

阅读全文 »

机器学习

  • stochastic 随机的
  • hallucinations 幻觉
  • paradigm 范式
  • Modular 模块化
  • augmentation 增强
  • scalability 可拓展性
  • proprietary 专有
  • fine-tuning 微调
  • parameterize 参数化
  • corpora 语料库
  • downstream
  • domain-specific
  • sample space 样本空间
  • outcome space 结果空间
  • mutually exclusive 互斥
  • stochastic gradient descent 随机梯度下降法
  • granularity 粒度

算法与数据结构常用术语

阅读全文 »

李宏毅机器学习 动手学深度学习

前期工作

数学

概率论

数学期望:

\[E[X]=\sum_{x}x P(X=x).\]

当函数f(x)的输入是从分布P中抽取的随机变量时,f(x)的期望值为:

\[E_{x\sim P}[f(x)]=\sum_{x}f(x)P(x).\]

方差:

\[\operatorname{Var}[X]=E\left[(X-E[X])^{2}\right]=E[X^{2}]-E[X]^{2}.\]

分布

信息论

在不同的领域中,熵被表示为混乱程度,不确定性,惊奇程度,不可预测性,信息量等,但在机器学习中我们只需要对信息论中的熵有基本了解
信息论中熵的概念首次被香农提出,目的是寻找一种高效/无损地编码信息的方法,即无损编码事件信息的最小平均编码长度 即信息熵H(X) = -Σ p(x) log2 p(x) (p为概率)

接下来说明这个公式,假设我们用二进制的哈夫曼编码,一个信息出现概率是1/2,即其他所有情况加起来也是1/2,那么我们会发现其编码长度必然是-log(1/2),也就是1,恰好和我们的香农熵定义一致了,这是为什么呢?
严谨的数学证明超出了cs专业范围,这里只说一下直观理解,熵有两个性质:

  • 概率越小信息量越大(如果一个小概率事件发生了,就排除了非常多其他可能性)
  • 假设两个随机变量x,y相互独立,那么分别观测两个变量得到的信息量应该和同时观测两个变量的信息量是相同的,h(x+y)=h(x)+h(y)

如此一来对数函数的负数完美符合条件,基数则无所谓,直观地理解,基数对应用几进制编码,而要最短化编码,越小概率就应该用更长的位数,把短位数腾出来给大概率事件用,当然实际中编码的位数是离散的,而且相比对数取负只能多不能少,因此香农熵是一个理论最优值,熵编码就指无损情况下的编码方式,最常用的就是哈夫曼编码,所有熵编码方式的编码长度大于等于香农熵

现实中常用二进制编码信息,例如对8种不同的信息,最直观的编码是三位二进制,每三位表示一个独特信息。
我们可以用概率表示每种信息出现的可能,例如8种信息,每个都等可能出现,那么以概率为权的哈夫曼编码就会用所有的3位二进制编码这8种信息,熵就是3,而其他情况熵可以当做哈夫曼树的总编码长度算
那么如何理解熵能反映混乱度呢?如果熵比较大(即平均编码长度较长),意味着这一信息有较多的可能状态,相应的每个状态的可能性比较低;因此每当来了一个新的信息,我们很难对其作出准确预测,即有着比较大的混乱程度/不确定性/不可预测性

交叉熵
交叉熵用于评估估计概率得到的熵与真实熵的差距,交叉的含义很直观,就是使用P计算期望,使用Q计算编码长度
为什么这么选而不是反过来呢?这取决于我们的目的,一般来说,我们希望估计的编码长度和理论最优的熵差距较小,要比对取优的主要是模型的编码长度即logQ,可以这么理解,熵公式中的对数函数视为视为对一个特定概率事件的编码长度,由于现实的概率分布实际上是确定的,那么需要评估的也就是编码方式的效率
由于熵是给定概率分布下的最优值,交叉熵只可能大于等于熵,两者差越小或者说交叉熵越小表示模型估计越准
例如在最极端的one-hot编码中,交叉熵等价于对应正确解标签的输出的自然对数

线性代数

范数

范数是具有“长度”概念的函数,用于衡量一个矢量的大小(测量矢量的测度)
由于不是数学系的,这里就极为不严谨地记录一下范数的理解:

  • 0范数,向量中非零元素的个数
  • 1范数,为绝对值之和
  • 2范数,就是通常意义上的模

正则化的目的可以理解为限制权重向量的复杂度,实际做法为在损失函数中加入与权重向量复杂度有关的惩罚项,而范数在某种意义上可以反映这点,因此可作为选取正则项的依据
顺便一提a star算法也会用类似的测度估计距离

工具

cuda

Compute Unified Device Architecture (CUDA):简单地说,就是允许软件调用gpu来计算的一个接口
CUDA Runtime API vs. CUDA Driver API

  • 驱动版本需要≥运行时api版本
  • driver user-space modules需要和driver kernel modules版本一致
  • 当我们谈论cuda时,往往是说runtime api
阅读全文 »

一些pdf

阅读全文 »

概论

历史: 电子管->晶体管->集成电路 比较成熟的集成电路出现于1972

冯诺依曼机:

  1. 采用“存储程序”的工作方式。程序和原始数据送入主存后才能执行,计算机自动逐条执行指令,直至执行结束
  2. 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成。
    • 存储器分为主存和辅存,对应现在的内存和硬盘,由存储单元组成,存储单元可存储一串二进制代码,称这串代码为存储字,称这串代码的位数为存储字长
    • 主存由地址寄存器MAR和数据寄存器MDR以及时序控制逻辑组成,MAR用于寻址,其位数对应着存储单元的个数,存放访问地址,需要译码才能定位到存储单元,MDR的位数和存储字长相等,暂存要从存储器读写的信息,时序控制逻辑产生操作的时序信号
    • 运算器的核心是算术逻辑单元ALU,运算器包含若干通用寄存器,用于暂存操作数和中间结果,程序状态寄存器(PSW),也称标志寄存器用于存放运算中的一些状态信息
    • 控制器由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成
      • PC用来存放当前欲执行指令的地址,可以自增1来寻址到下一个指令
      • IR用来存放当前的指令,其内容来自主存的MDR,指令中操作码送到CU,地址码送至MAR
      • CU通过操作码产生需要的命令序列
  3. 指令和数据以同等地位存储在存储器中,形式上没有区别,CPU用指令周期的不同阶段区分他们
  4. 指令和数据均用二进制代码表示。指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址
阅读全文 »

概论

操作系统:控制管理计算机的硬件,协调控制资源分配,并为应用程序和用户提供接口以供使用

基本特征

操作系统的基本特征包括并发,共享,虚拟和异步

  1. 并发
    并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。这是通过类似时间片轮转的机制实现的。
    并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的动作,需要相关硬件的支持,如多流水线或多处理机硬件环境

  2. 共享
    共享:系统内的某些资源可以供并发的不同进程使用,分为以下几种方式

    阅读全文 »

专业课

网络

USP是一个智能化的网络数据库统一检索平台。它通过一个统一界面帮助用户在多个网络数据库搜索平台中实现信息检索操作,是对外网络中的多种检索工具的智能化整合
NAT即网络地址转换(Network Address Translation),是一种将IP数据包中的IP地址转换为另一个IP地址的技术

  1. 静态NAT
    • 功能:实现内部IP与公网IP的一对一固定映射,常用于需要公网访问的服务器(如Web服务器),确保外部可通过固定公网IP访问内部设备
  2. 动态NAT
    • 功能:从定义的公网IP地址池中动态分配IP,内部设备随机获取公网IP,用完后释放,适用用户数不固定的场景
  3. 端口地址转换(PAT/NAPT(Network Address Port Translation,网络地址端口转换))
    • 功能:多个内部IP共享一个公网IP,通过端口号区分不同连接,极大节省IP地址,是家庭、企业最常用的NAT方式
阅读全文 »
0%