摘要:
动态规划 Dynamic Programming 一种设计的技巧,是解决一类问题的方法 dp遵循固定的思考流程:暴力递归 —— 递归+记忆化 —— 非递归的动态规划(状态定义+转移方程) 斐波那契数列 暴力递归,看上去很简洁 def fib(n): return n if n <= 1 else f 阅读全文
摘要:
Adaboost + CART 用 CART 决策树来作为 Adaboost 的基础学习器 但是问题在于,需要把决策树改成能接收带权样本输入的版本。(need: weighted DTree(D, u(t)) ) 这样可能有点麻烦,有没有简单点的办法?尽量不碰基础学习器内部,想办法在外面把数据送进去 阅读全文
摘要:
1. 平衡二叉树 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解: 要么是一颗空树,要么左右子树都是平衡二叉树且左右子树深度之差不超过1 1 # class TreeNode: 2 # def __init__(self, x): 3 # self.val = x 4 # self.left = 阅读全文
摘要:
决策树的核心思想就是 if else,实现了 conditional aggregation,关键问题在于分裂的时候哪些特征在前哪些特征在后。从 ID3 开始使用熵(entropy)来作为决策选择的度量。决策树可以做分类,也可以做回归,是一种比较灵活的算法。主要包括 ID3、C4.5、CART,可以 阅读全文
摘要:
传统方法中,如何衡量一个generator ?—— 用 generator 产生数据的 likelihood,越大越好。 但是 GAN 中的 generator 是隐式建模,所以只能从 P_G 中采样但没法根据 pdf 算 likelihood。 一个方法是把从 P_G 中采样得到的点当作是一个高斯 阅读全文
摘要:
Improving Supervised Seq-to-seq Model 有监督的 seq2seq ,比如机器翻译、聊天机器人、语音辨识之类的 。 而 generator 其实就是典型的 seq2seq model ,可以把 GAN 应用到这个任务中。 RL(human feedback) 训练目 阅读全文
摘要:
InfoGAN 期望的是 input 的每一个维度都能表示输出数据的某种特征。但实际改变输入的一个特定维度取值,很难发现输出数据随之改变的规律。 InfoGAN 就是想解决这个问题。在 GAN 结构以外,把输入 z 分成两个部分 c 和 z' ,然后根据 generated data x 来预测给到 阅读全文
摘要:
Wasserstein GAN (WGAN) 在一些情况下,用 JS散度来衡量两个分布的远近并不适合: 1. 数据是高维空间中的低维流形(manifold),两个分布在高维空间中的 overlap 少到可以忽略。 2. 由于 sampling 的局限性,即使两个分布之间真的存在一定的 overlap 阅读全文
摘要:
1.圆圈中最后剩下的数 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可 阅读全文
摘要:
1. 表示数值的字符串 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 解: 思考方向应该是把非法 阅读全文