算法八股总结
算法八股总结
1.交叉熵和最大似然的区别:
最大似然估计(MLE)是一种参数估计方法,思想是找到让观测数据最可能出现的模型参数。
交叉熵(Cross-Entropy)是一种衡量两个概率分布差异的指标,目标是最小化两个概率分布的差异。
MLE目标:最大化似然函数(在给定参数和输入条件下,输出概率最大),交叉熵目标,极小化交叉熵损失。
当交叉熵损失的网络用softmax输出概率分布,交叉熵损失等价于负对数似然。
2.梯度爆炸和梯度消失:
反向传播时,梯度累乘导致靠近输入层的参数梯度过大,参数更新幅度大。
常见原因有:参数初始化值较大、循环神经网络的长期依赖、某些激活函数(ReLU)输出值过大。
导致:参数更新不稳定、模型loss剧烈波动或者NaN,模型无法收敛。
解决办法:梯度裁剪、合适的初始化方法(Xavier(tanh/sigmoid)、He初始化(ReLU))
反向传播时,梯度累乘导致靠近输入层的参数梯度很小,参数几乎无法更新,浅层特征难以学习。
常见原因有:参数初始值过小、激活函数导数较小(sigmoid、tanh大部分区间导数接近0 ...
Miniob数据库比赛总结
Miniob比赛总结
Miniob比赛是OceanBase比赛的初赛,通过Miniob数据库框架实现比赛给出的功能。比如,数据库的删除表操作(drop_table)、数据库的 DATE 时间字段、数据库的 LIKE 匹配功能。初赛时间是10.18-11.11总共25天时间,约为三周时间,虽然最终分数并不是很高,但对于完全没有做过数据库内核设计的我们来说已经很满意了。
1. 赛前准备最开始我们以为这个数据库比赛是像本科一样写写 Sql 语句,然后部署就可以了。但是我们报名了比赛才发现,这个比赛是需要去实现数据库功能。
设计数据库内核需要设计很多知识,单纯从 Miniob 框架而言,需要会词法分析(Lex/Flex)、语法分析(Yacc/Bison)、磁盘存储、操作系统文件管理、内存缓冲池等相关知识。如果从零开始参加这个比赛的话应该只能完成比较简单的功能(drop_table,LIKE,Update等),因为需要学习的东西实在是太多了。没有学过数据库内核知识很难支撑后面题目的完成。
此外还需要有一定的 C++ 基础,Miniob 大部分代码都是 C++,并且涉及面向对象编程 ...
动手学深度学习第二章笔记
记录第二章自动微分处的一点笔记
阿里云部署hexo
阿里云部署Hexo博客
在云服务器上部署 Hexo 主要分为云端准备和本地准备。其中云端需要准备一个云服务器,域名,并且对云服务器和域名完成备案。本地环境只需要能够运行 Hexo 进行部署即可,若之前进行过Hexo 环境的配置,本地准备的步骤非常少。工作量主要集中在云端准备上。
云端环境购买阿里云ECS服务器作为学生党,服务器当然是越便宜越好,现在的阿里云有活动,可以购买99一年的云服务器,到期续费时也是99/年。
购买域名域名就是网站的名字,我们需要一个简单直观的名字来让别人更好的找到我们的网站,如果没有域名只能通过输入 ip 地址来访问网站。
阿里云也提供域名购买服务,顶部搜索框输入域名注册就可以挑选自己喜欢的域名了,com 后缀的域名价格与99/年的云服务器接近(首年价格会有优惠)。
备案根据国家法律规定,在中国服务器上部署网站需要进行备案,备案需要拥有服务器和域名,阿里云右上角可以直接进行备案服务。
ICP 备案申请审核通过后,管局(工信部)会给我们一个 ICP 备案号,我们需要将备案号在网站底部标明。网站在工信部备案成功后,还需要在网站开通之日起30日内登录 ...
Butterfly主题扩展标签
Butterfly 标签扩展标签扩展 (Tag Plugins)是 Hexo 特有的功能,不是标准的 Markdown 格式,因此不能够在 Typora中正常显示,但是通过 Hexo 渲染之后可以正常显示。通过标签扩展可以实现一些增强功能,如:字段强调、按钮隐藏、选择按钮等动能。
虽然在 Hexo常用指令中介绍了一些 Hexo 标签扩展,但是 Butterfly 主题中也内带了一些移植于 Next 主题的标签扩展。因此这篇文章就是来介绍 Butterfly 主题常用的的额外标签扩展。完整标签扩展可以拜访 Butterfly 官方文档
虽然这些标签可以带来强大的功能,但也拥有许多限制,同时这些标签扩展在其他主题使用可能不会生效。
Note 标签标签通用设置用法1用法2(自定义icon)该设置在主题配置文件中
123456789101112note: # Note tag style values: # - simple bs-callout old alert style. Default. # - modern bs-callout new (v2-v3) al ...
Typora常用指令
Typora教程Typora是一款简洁而强大的 Markdown 编辑器。它提供实时预览功能,让用户可以即时查看文档的渲染效果。
最初使用 Typora 是为了利用 markdown 写博客文章,但随着对于 Typora 的使用。发现 Typora 在日常笔记、记录过程相当好用,具体体现在:逻辑性较强的层次结构,功能多样的快捷键,简洁好看。
逻辑性体现在于 Typora 的大小标题、列表等元素上。这些大小标题、列表的组合可以迅速的构建起一个顺序、层次的文章结构。不但可以使得文章的思路清晰了然,也可以在写文章的时候锻炼写作的逻辑思维能力。
Typora 的几乎所有常用功能都可以使用快捷键实现,如:ctrl + 1~6 可以快速生成6种不同级别的标题,ctrl + shift + ~ 来生成一个代码行,ctrl + shift + k 来生成一个代码块。
学习下面教程之前需要修改Typora->文件->偏好设置中的部分设置:
标题:一级标题:选中文字按 Ctrl + 1 或 # +文字
二级标题:Ctrl + 2 或 ## + 文字
三级标题:Ctrl + 3 或 ### ...
Hexo使用
一些利用hexo写博客文章的常用指令
LaTex数学公式常用指令
LaTex数学公式使用方法常用的插入方式:独立公式,行中公式。行中公式可以插入到一行文字中,而独立公式是单独成行。
行中公式的插入方式为:
$...$
独立公式为:
$$...$$
常用符号:
分组符号:通过分组符号 {} 把可以把一个整体括起来,当做一个整体,相当于括号
上标下标:在公式的后面加上 ^ 表示上标,加上 _ 表示下标,用 {} 可以将多个字符转为上下标
例如:$x^i$,$x_i$
输出:,
换行:换行用两个斜线 \ 来表示
空格:不能直接用空格表示,用 \空格,\;,\quad和\qquad,充当空格,增加的间隔依次增大
运算符号:加号 +,减号 -,乘号 \times,除号 \div,加减号 \pm,减加号 \mp,指数 ^
例如:$a+b-c \times e \div f \pm g \mp h$
输出:
关系运算符:小于号 $\lt$
大于号 $\gt$
小于等于 $\le$
大于等于 $\ge$
不等于 $\neq$
分式:两种实现方式:
输入:\frac {a+b+1}{a-b-1},输出:
输入: ...
黄水游
万州实在是太热了,所以趁着周末和幺姥家还有两个妹妹去黄水避暑两天。







