感知机可以理解为几何中的线性方程:w*x+b=0 对应于特征空间 R^n 中的一个超平面 S ,其中 w 是超平面法向量,b 是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为正、负两类。
乱序 1、有了解fm吗。不太熟悉,核心思想是将wij分解为vil和vlj。 2、transformer的注意力机制。x复制3份,交由三个权重矩阵得到qkv,softmax(qk^T)/(根号dk)*v。之后就是一些具体在干嘛的,我说的用这个做的机器翻译,当时是纯手打完transformer成所以比较熟悉,记忆比较深刻,但是面试官好像没继续深入问下去。 3、说一下mmoe。这是一个多任务的双塔模型,
【笔试】 1.两兄弟拿奖品最大可能数 2.参观展厅总时间120分钟 3.手写kmeans聚类 【一面 40min】 1、自我介绍 2、问简历 3、介绍2个简历项目 4、训练的数据量级,过拟合的解决方法 5、遇到的困难,怎么解决 6、调过参吗?网络是自创还是开源?调参经历和结果 7、为什么使用自监督学习?有什么优势? 8、你的方法跟别人的方法相比的优势在哪?尝试过别人的方法吗?对比结果是什么 9、工
6号就已经进人才库了,7号收到的感谢信。今天才发是因为甲流高烧三天,完全无行动能力。虽然现在仍在低烧,但是继续学习奋战下一次面试已经刻不容缓,希望付出的努力能有所回报。 顺便一提,美团求捞 3.31一面 先讲了半小时的项目,能听得出来面试官跟上了我讲的思路,问的问题也都是很关键的,水平确实可以。不过后面十分钟开始跟我说的就是讲项目有理解成本,需要画图等等,感觉是个好建议,但是不好实现,尤其是考虑到
排序算法有不少,当然,一般的语言中都提供某个排序函数,比如Python中,对list进行排序,可以使用sorted(或者list.sort()),关于这方面的使用,在我的github代码库algorithm中有几个举例,有兴趣的看官可以去那里看看(顺便告知,我在Github中的账号是qiwsir,欢迎follow me)。但是,在某些情况下,语言中提供的排序方法或许不适合,必须选择某种排序算法。
哈希表(Hash Table,也叫散列表),是根据关键码值 (Key-Value) 而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。哈希表的实现主要需要解决两个问题,哈希函数和冲突解决。 哈希函数 哈希函数也叫散列函数,它对不同的输出值得到一个固定长度的消息摘要。理想的哈希函数对于不同的输入应该产生不同的结构,同时散列结果应当具有同一性(输出值尽
我们可以使用优先队列来实现这个聚类算法。 什么是优先队列呢? 普通的队列有“先进先出”的规则,比如向队列先后添加Moa、Suzuka、Yui,取出时得到的也是Moa、Suzuka、Yui: 而对于优先队列,每个元素都可以附加一个优先级,从队列中取出时会得到优先级最高的元素。比如说,我们定义年龄越小优先级越高,以下是插入过程: 取出的第一个元素是Yui,因为她的年龄最小: 我们看看Python中如何
哈希表也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术核心就是在内存中维护着一张巨大的哈希表。 学过Java对这个应该很熟悉,Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是 HashMap 、 Hashtable 、 LinkedHashMap 和 TreeMap ,类继承关系如下图所示: HashMap是Java程序员
数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据(JS里可以是任意类型)。 关键点:连续的存储空间(数组可以进行随机访问) // js let data = [] // c int data[200] = { 0 }; // 编译时 就已经确定所有的值为零 // java int data[] = new int[3]; // 开辟了一个长度为3的数组 在Ch
029. Divide Two Integers[M] 问题 Divide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. 思路 这道题难在不能使用乘除取余操作,所以我们只能手动的实现除法,我们来看看如何实现。 我们假设被除数为D,除数为
随时间反向传播(BPTT)算法 $$s_t = \tanh (Ux_t+Ws_{t-1})$$ $$\hat y_t=softmax(Vs_t)$$ RNN的损失函数定义为交叉熵损失: $$E_t(y_t,\hat y_t)=-y_t\log\hat y_t $$ $$E(y,\hat y)=\sum_{t}E_t(y_t, \hat y_t)=-\sum_{t}y_t\log\hat y_t$$
程序设计离不开数据结构和算法。数据结构是数据组织和存储的逻辑形式,以达到方便访问和修改数据的目的。而算法是根据实际输入输出的需求设计的一系列计算过程,被认为是程序的灵魂。设计良好的算法的重要意义正如Thomas在《算法导论》中提到“计算机可以做得很快,但不是无限快;存储器可以做到很便宜,但不是免费的。因此,计算时间是一种有限的资源,存储空间也是一种有限的资源。这些有限的资源必须有效地使用,那些时间
运算符相关的魔术方法实在太多了,j就大概列举下面两类: 1、比较运算符 魔术方法 说明 __cmp__(self, other) 如果该方法返回负数,说明 self < other; 返回正数,说明 self > other; 返回 0 说明 self == other。强烈不推荐来定义 __cmp__ , 取而代之, 最好分别定义 __lt__, __eq__ 等方法从而实现比较功能。 __cm
第 10 章 算法设计和分析 利用计算机解决问题的关键是设计出合适的算法。对特定问题设计出求解算法,体现了 程序设计这种智力活动的创造性的一面。从事创造性活动需要创造性思维,而不能仅仅依靠 机械的模仿。虽然算法设计并没有一定之规,但计算机科学家总结出了一些行之有效的设计 方法,掌握这些方法对于利用计算机解决问题具有重要意义。利用计算机解决问题,并非只 要设计出正确的算法就行了,还需要分析算法的复杂
第 2 章、第 3 章介绍了 Memcached 的内部情况。本次不再介绍 Memcached 的内部结构,开始介绍 Memcached 的分布式。 4.1 Memcached 的分布式 正如第1章中介绍的那样,Memcached 虽然称为 分布式 缓存服务器,但服务器端并没有 分布式 功能。服务器端仅包括第2章、第3章介绍的内存存储功能,其实现非常简单。至于 Memcached 的分布式,则是完