吐血整理 | 据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!

Protege新手必看:从安装到建模的完整指南(附推理功能详解) 本文为Protege新手提供从安装、配置到核心建模的完整实战指南。详细讲解了Java环境准备、本体项目创建、类与属性定义、个体填充等关键步骤,并重点解析了推理功能的配置与使用,帮助读者快速构建可逻辑推理的知识图谱,避开常见陷阱。 阅读详情

这里是归辰的面经杂货铺,你想要的都有~

写在前面    

    作者是研二的学弟,实力强悍的清北大佬一枚,研究方向与求职方向高度一致,为图机器学习/推荐系统,学弟本人非常有自己的想法,不光优秀还极其自律,不光收割了BAT,还尝试了难度较大的一些外企。话不多说,马上就献上这一份“珍藏版”面试记录,内容详实,有一定的门槛,具有很高的含金量。如下仅为部分面经,墙裂欢迎各互联网大佬来撩!(可通过联系小编,具体方法为点击文章顶部左上方“海边的拾遗者“进行关注,并在页面右上角选择”星标“公众号,然后在页面右下角点击“联系小编”即可联系到大佬!)

蚂蚁金服|AILab

一面

    自我介绍。

  • 介绍实习的工作,问了一些具体内容。

  • 了解哪些GNN, GAT和GCN的区别,如果图很稠密的话,对GAT有什么影响。

  • 两道easy的算法题,BST和二分。

  • 问我会不会一些传统的机器学习方法,比如xgboost, gbdt。

  • 深度学习优化器的区别,Adam和SGD。

  • Transformer的结构, positional embedding等。

    面试完以后面试官说他挺满意的,介绍了下部门,说主要做图理论算法的。但是我当时比较想做应用业务,所以就让面试官就把我推荐到了他们经常合作的另一个部门了。

二面

    到了蚂蚁第二个部门继续面试的流程。

    自我介绍。

  • 介绍下以前的工作。

  • 讲下graph embedding的发展历史,有哪些有代表性的模型,都讲讲。

  • 给了两个蚂蚁的场景题,让我设计解决办法,说思路。

  • 反问。

    总共不到半个小时,聊的感觉挺好的。面试体验很好。

三面

    晚上10点多面的。。。。,自我介绍完后简单问了问项目和基础的ML问题,大概10分钟。

阿里妈妈

       由于阿里只能最终在系统上选择一个进行投递,我选了蚂蚁,所以阿里妈妈这儿就停止了。

    自我介绍。

  • 问了python语言的一些属性,list和tuple的区别。dict里key能否是list,如果自己改造的list可不可以作为dict的key。dict除了用hash实现还可以用什么实现。生成器,迭代器,装饰器。

  • 代码题:一个随机序列,找第k小的元素。最好的方法应该用quickselect,时间复杂度是O(n)。quickselect在之后边面别的公司的时候也被问了好多次,也算因祸得福了。

  • 聊了聊项目。

  • 问xgboost, gbdt原理及区别。

  • 反问。

字节跳动

一面30min

    自我介绍。

  • 直接两道算法题:1.判断t2是不是t1的子树(说了暴力算法,面试官说还有更快的。。。被搞蒙了,结果发现他想要的就是暴力递归。最后面试官说我代码有问题,我说没问题,他检查了下说奥是他搞错了。。。>.<紧张) 2.编辑距离,没让写代码,说了下思路。就结束了。

二面50min

    自我介绍。

  • 只聊了聊几个实习经历的工作,细节问了问。Focal loss公式。

  • 一道概率题:给一个木棍,切两刀,问可以组成三角形的概率。有点紧张,想了1分钟说了个错的答案。面试官就提示想想有几个变量?画到二维平面上?就想了到用线性规划,然后就做出来了,1/4。

  • 代码题:随机数组找第k大的元素。说了两种,1是用heap,2是quickselect。第二个更快,复杂度是O(n), 然后把第二种的code写了下,讲了讲。

三面30min

    自我介绍。

  • 聊了聊,介绍了3段实习经历。

  • 代码题:类似leetcode岛屿连通的那道题。

HR面30min

    聊天。

微软|STCA

一面30min

    自我介绍。

  • 代码题:1.链表排序 2.subarray sum equals k。半个小时写完code后开始聊项目。

  • 讲了实习时候做的工作。连带着相关细节数据集的采集,idea怎么做的等等。

  • 深度学习的相关知识,过拟合,cnn,rnn,lstm,激活函数,梯度消失梯度爆炸,batch normalization, adam 等等问了问。

  • 对面向对象熟悉不,有没有什么经验?

二面30min

    自我介绍。

  • 代码题:给一个doc和一个摘要, 去查找doc里匹配摘要的位置(起始,结束)。能匹配多少就输出多少。比如doc是abc, 摘要是ba,那么b和a都是在doc里有所匹配的。如果可以匹配多个,则返回最长匹配。

    一开始没理解题意,问师姐怎么划分摘要里的句子,用句号?后来明白了不需要划分,就硬匹配就行。面试官提示我建立一个倒排表,记录doc里每个字符出现的位置,才终于明白了。coding了一下讲了讲,算法就过了。面试官说ok,coding没问题算法就这样吧。

  • 介绍实习经历。简单聊了聊实习做的东西,大概十分钟。整个面试体验挺好的。

美团

一面40min

    自我介绍。

  • 上来先介绍实习经历,项目。做法,细节,创新点都有问。从我做的东西出发,问了一些深度学习的问题,比如学习率,优化器,BN, LN, 梯度消失爆炸,过拟合,正则化的方法等。如果训练的时候不同batch之间loss差别很大可能是什么原因?当emebdding size特别大的时候怎么办?

  • 后边做了一道非常简单的题。给一堆学生,按成绩排序。

  • 问了python的语言特性,*args, **kwargs, yield,生成器,迭代器,python的垃圾回收机制。知不知道python多线程。python构造函数是啥?

二面40min

    面试官看起来略微严肃,问了很多问题,问的很细。

    自我介绍。

  • 聊项目,基础。

  • 还有一些发散性的问题。比如怎么由用户的外卖信息对用户作其他方面的推荐(比如旅游)。

  • 代码题:求topk小的数。

Amazon|SDE

一面

    自我介绍。

  • 介绍项目。

  • 代码题:1.minstack 2.system design的题目,是最基础的LRU。但是当时没做过,靠着面试官提示,半个小时最后终于把思路说对了,没时间写代码了。

二面

    介绍项目。

  • 代码题:给一个list,里边有一些time,比如23:59, 14:00, 让你返回里边最小的时间间隔。在面试官的指引下,最后把时间复杂度降到了O(n),因为实际上可能的time只有1440个。

    这题回头看挺简单的,唉,但当时面试的时候自己好菜,就得靠面试官提示才到了最全,最优解。最后面试官说我potential还不错,他后边还要面很多人。等通知吧。

    因为是SDE岗,感觉面试官倾向于聊计算机基础,比如网络,数据库之类的。。。

腾讯|WXG

一面

    自我介绍。

  • 写一个堆(好久不写了,都忘了堆了。。。写了40min才写完,发的那个在线coding的地方写代码会有重影眼花了都。。。,写的有一点小问题,被check了一下,不过应该还ok)。

  • 问深度学习基础。上来问我为什么要引入激活函数。我说是为了非线性。他说错,根本原因是为了scale输出值防止梯度爆炸。我???然后问我sigmoid是非线性的吗,我说是啊非线性的。他说不,sigmoid,tanh都是线性的,relu才是非线性的。  我蒙蔽了,他又跟我讲一开始引入sigmoid为了scale值, 防止梯度爆炸/消失,balaba。。。我无语了只能同意他了。。

  • 问batch size有什么用?大的batch有什么优点?

  • 问基于字和基于词的nlp方法有试过吗,哪个好?

  • BTE听说过吗,我以为他问的BCE,又仔细问了一遍,确定没听错是BTE。不知道,后来查了下也没查出来是啥。莫非想说bert?但他是一个一个字母读的,我也没听到r啊。。。。

  • 问nlp里decoder出来unknown词怎么办。我说decoder的softmax那里应该把unknown mask掉的,就不会输出这个了。如果非要输出,就再训练一个模型学一下这个unknown应该是啥。他说ok吧。。。

  • 然后时间差不多快到了,就问我有啥问他的。我说有做推荐搜索的吗,对话这个方向可能不是很match,我不了解。他说也有做推荐搜索相关的,简单介绍了下。然后就结束了。。。

二面

    刚开始自我介绍我说想做推荐搜索的,和对话系统不太匹配,面试官就把简历给HR推到比较合适的组了。

    自我介绍。

  • 问了一个python的函数默认参数的问题。答错了,面试官让我打开命令行自己跑一下,然后给出解释,并且改成这个函数应该想达到的效果。然后连着调用两次append_list('one'),append_list('one'),问两次返回啥。应该['one'],  ['one', 'one']。函数如下:

def append_list(new_item,  a_list = []):
    a_list.append(new_item)
    return a_list

    但是其实这个函数的功能是想两次都返回['one'],所以我改成了:

def append_list(*args):
    if len(args) == 1:
        return [args[0]]
    args[1].append(args[0])
    return args[1]
  • 代码题:找到两个list相交的点。    

  • 接下来半个小时主要针对我之前的工作聊了聊,包括一些细节。

  • 最后问了一个发散的问题。对于一个搜索query,如果这个query很长,里边很多没用的词,那么怎么提高搜索的准确度呢?我主要从模型上讲了讲,可以build一个模型来确定query里每个词的重要度,用cbow/self-attention之类的模型。

  • 最后面试官介绍了下他们团队,感觉不错,接下来等通知后续安排。

三面

    自我介绍。

  • 介绍项目。

  • GNN发展史,GNN为什么可以work,GNN的数学原理。

  • self-attention的深层次原理是什么(不懂。。。),为什么work?

  • 代码题:一个单调栈的题,比较简单,他那边测了下test过了,然后就结束了。

HR面

    自我介绍。

  • 问我你的缺点是什么?结果被追着问了好久,第一次有hr面要翻车的感觉。

    不过好在hr最后说今天是腾讯提前批的最后一天,应该一会儿你就能看到状态更新,下周会发offer,看来是通过了。晚上11点多收到了短信说恭喜通过了所有面试,具体offer沟通下周进行。

快手

一面40min

    自我介绍。

  • 机器学习/深度学习基础,问了好多,有一些不会。

  • 聊了聊项目,面试官对我做的方向不是太了解。

  • 代码题:带重复元素的sorted array里寻找最左端的target。

二面1h

    一面通过了马上就开始二面,感觉这轮的面试官特别聪明有活力。感觉这轮主要考coding。

    自我介绍。

  • 问了一些python的基础,list, tuple, dict, generator, derocator之类的。

  • 代码题:1.zigzag打印二叉树 2.给两个等长字符串,输出两个字符串之间的个数 3.给第三个字符串,求两字符串中间不包含第三个字符串的个数(leetcode上周周赛最后一题。。。太难了)不会做。就把第三个字符串简化为字符,和面试官讨论了一下。

Apple|Maps

一面20min

    自我介绍。

  • 简单介绍了下简历项目,说接下来还有一轮过项目一轮coding。等通知

    但是后边没消息了,应该是今年疫情的缘故,HC取消了吧。

总结

    整个春招过程可以说经历地非常快了,体验也还可以,有失也有得,后面的路走一步看一步了。小编觉得优秀的人本质都是非常相似的,向优秀的人看齐才是正确的姿势,但是更优秀的人更努力的例子不值得我们更加努力学习吗。最后祝大家面试顺利,一起加油!欢迎大家来交流~

- end -





【系统分析师】2026年-上半年真题:综合知识-答案及详解(75题完整回忆版) 系统分析师考试备考指南(2026上半年机考) 考试安排: 2026年5月23日举行,分三科连考: 综合知识+案例分析(08:30-12:30,240分钟) 论文(14:30-16:30,120分钟) 科目详情: 综合知识:75道单选(含5道英文题),满分75分,45分及格。 案例分析:5选3主观题,满分75分,45分及格。 论文:4选1论述题,满分75分,45分及格。 重点题型解析: 软件工程:结构化分析以数据字典为核心(题1)。 概率统计:独立事件概率计算(题2,三人解题概率≈0.9)。 数据库安全:DB 阅读详情

相关推荐

快速了解Spyder

一 面板介绍菜单栏:放置所有功能工具栏:放置快捷菜单,可以通过菜单栏中的View的Toolbars的复选框来勾选工作区:写代码的地方属性页的标题栏:可以显示当前代码的名字和位置查看栏:查看文件、调试时的对象及变量输出栏:查看程序的输出信息,也可以作为shell终端来输入Python语句状态栏:用来显示当前文件权限、编码,光标指向位置和系统内存二 注释功能注释功能为编写代码很常用功能,下面介绍Spy...

实践求真知 1万+

【面试招聘】据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!...

文章来源于海边的拾遗者,作者守着光的写在前面 作者是研二的学弟,实力强悍的清北大佬一枚,研究方向与求职方向高度一致,为图机器学习/推荐系统,学弟本人非常有自己的想法,不光优...

fengdu78的博客 653

用Linkboy玩转Arduino:3小时搞定智能倒车雷达(附仿真文件下载)

本文详细介绍了如何利用Linkboy图形化编程工具,在3小时内快速搭建一个基于Arduino的智能倒车雷达项目。通过仿真环境,初学者无需硬件即可学习超声波测距原理、报警逻辑设计,并完成从虚拟仿真到实体硬件的完整流程。文章提供了清晰的步骤、调试技巧及功能扩展思路,并附有仿真文件,是入门Arduino和智能硬件制作的绝佳实践指南。

weixin_29159441的博客 405

前不久,字节面试被算法狂虐,卧薪尝胆,闭关钻研865页算法神仙笔记,offer在手

前言 前段时间面试百度Java技术岗时碰到了一道算法题:任意数分三组,使得每组的和尽量相等。由于时间仓促,加之面试时头昏脑涨,这道题没做出来甚至没有给出思路,导致百度面试之旅失败。这让我多少有些遗憾和不甘。因为最近接触算法的东西较多而且本身对算法感兴趣,所以回家之后绞尽脑汁想把这题做出来。 说说我的思路:首先一定要先排序,这也是解决问题的关键。然后降序排序后的前三个数各分一组把剩余数往三个数上叠加。我最开始的思路也是如此,问题在于分组个数不确定,出现极端大的数怎么办,怎么叠加?那层窗户纸就是将剩余数

如果频繁就私信一下呢 247

【Coppeliasim|轨迹规划(三)】机械臂逆解

文章目录一些设置导航点设置添加连接用于碰撞的设置代码实现终端输出 一些设置 导航点设置 关于如何添加设置 dummy 的细节建议参考官方手册,这里不再赘述。 添加连接用于碰撞的设置 按照序号点击(一个是机械臂,一个是所有的物体除了机械臂): 代码实现 getMatrixShiftedAlongZ=function(matrix,localZShift) local m={} for i=1,12,1 do m[i]=matrix[i] end

【人工智障 | 计算鸡视觉 | 机器孩】 1万+

82、yolov11检测模型迁移瑞芯微rk3588和使用昇腾设备300i DUO卡推理 batch=1/3,支持昇腾NMS迁移npu推理

本文介绍了使用昇腾设备进行分割推理的测试流程,包括两种测试方式(cann+onnx和om)。首先验证300iDUO卡的可用性,随后创建Docker镜像和容器以搭建独立环境。通过从指定仓库拉取Ubuntu 20.04镜像,创建容器并映射目录。进入容器后安装必要组件(Python3、GCC等)和系统工具(pciutils、net-tools等),为后续模型转换和迁移做准备。整个流程旨在构建可交付给第三方的标准化测试环境。

sxj731533730 1215

精选机器学习面试题,斩获一线互联网公司机器学习岗offer

添加微信:julyedufu77,回复 “ 6 ”,领取最新升级版《名企AI面试100题》电子书!! 76、机器学习中,有哪些特征选择的工程方法? 77、用贝叶斯机率说明Dropout的原理 回想一下使用Bagging学习,我们定义 k 个不同的模型,从训练集有替换采样 构造 k 个不同的数据集,然后在训练集上训练模型 i。 Dropout的目标是在指数 级数量的神经网络上近似这个过程。Dropout训练与Bagging训练不太一样。在Bagging的情况下,所有模型是独立 的。 在Dropout的情况下

niuyunpang的博客 468

知识图谱构建中的数据清洗:AI原生应用高质量图谱的前提

数据清洗是知识图谱构建的核心前置环节,直接决定AI原生应用(如智能问答、个性化推荐、决策支持系统)的图谱质量与应用效能。本文以第一性原理为起点,系统解析数据清洗的理论框架、技术架构与工程实践,覆盖从多源异构数据的噪声检测到高质量知识三元组(实体-关系-实体)生成的全流程。通过层次化概念映射(专家→中级→入门)、数学形式化建模及工业级案例分析,揭示数据清洗在解决实体歧义、关系冲突、结构不一致等关键问题中的技术逻辑,并展望基于大模型的智能清洗范式演化。Completeness(完整性)

移动开发前沿的博客 405

训练模型中损失(loss)异常分析

前言 训练模型过程中随时都要注意目标函数值(loss)的大小变化。一个正常的模型loss应该随训练轮数(epoch)的增加而缓慢下降,然后趋于稳定。虽然在模型训练的初始阶段,loss有可能会出现大幅度震荡变化,但是只要数据量充分,模型正确,训练的轮数足够长,模型最终会达到收敛状态,接近最优值或者找到了某个局部最优值。在模型实际训练过程中,可能会得到一些异常loss值,如loss等于nan;los...

github_38052581的博客 4万+

CloudCompare 二次开发(9)——半径滤波

基于PCL对CloudCompare软件进行二次开发,实现的算法功能是半径滤波

点云侠的博客 1401

基于Simulink实现电动汽车制动能量回收系统的仿真

通过上述步骤,我们成功实现了基于Simulink的电动汽车制动能量回收系统的仿真研究。该系统能够全面评估制动能量回收系统的性能,验证控制策略的有效性,并通过优化设计提高能量回收效率和制动安全性。引入智能预测:结合人工智能技术,实现更智能的能量回收控制策略。扩展功能:增加对多种车型和制动场景的支持,提升系统通用性。实验验证:将仿真模型应用于实际硬件,进行实验验证,评估其在实际工况下的表现。

xiaoheshang_123的博客 336

深度学习---之不同loss的变化情况,之有可能的问题

转载:http://doc.okbase.net/jacke121/archive/283490.html

zxyhhjs2017的博客 8196

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

介绍我的一位计算机非科班好友以及他的干货文章

归辰是我的好朋友,他之前在C9高校获取了硕士学位,现在是一名大厂的算法工程师。他也是一名热爱生活的修行者,喜欢和朋友们聊生活心得。他的经历颇为传奇,从本科开始就参加各类科技以及创业比赛,...

weixin_40920183的博客 242

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【算法拾光】队列|在每个树⾏中找最⼤值 + 最后⼀块⽯头的重量

本文总结两道经典算法题:一是通过层序遍历(BFS)逐层找最大值,利用队列分层处理,每层维护最大值;二是用大根堆(优先队列)模拟石头碰撞过程,每次取最大两块石头,差值重新入堆,直至剩余一块或无石。前者适用于树的层次遍历,后者适合动态获取最值场景。核心思想:队列用于分层遍历,堆用于高效取极值。

wuqingyigexiaoba的博客 131

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 384

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 334

把 KV Cache 压到 FP4:BitDecoding-FP4 的算法-系统协同设计复盘

长上下文推理卡在KV Cache的显存与带宽上,而现有FP4方案要么精度崩、要么速度废。这篇文章复盘BitDecoding-FP4如何用三个算法补丁加一个系统重构,在B300上把服务吞吐提升2.4–3.0倍,精度几乎不掉。

helloagent的博客 315

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 608

优选算法:分治-归并排序

交易逆序对的总数

Wangshijie1015的博客 149

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 26

408 算法 06|堆与 Top-K:最小的 10 个数,到底该用数组还是堆

2022(42) 找 100 万个数里最小的 10 个,官方给了"10 元素有序数组"和"大根堆"两种答案。我把两种都实现并数了比较次数:k=10 时两者几乎打平,k=10000 时堆少 111 倍。另附 2021(42) 计数排序的比较次数与稳定性实测。

m0_56226131的博客 446

408 算法 04|主元素与三元组最小距离:两种“扫描时做决定“的思路

2013(41) 的主元素用摩尔投票一遍选出候选,但真正的考点是"选完必须验票";2020(41) 的三元组最小距离,三指针每次只挪最小的那个,靠的是 D=2×(max−min) 这个恒等式。两套完整 C 代码加真实输出,附官方评分档位表。

m0_56226131的博客 442

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 174

算法64,字母异位词分组

代码核心思路是:互为字母异位词的字符串,在对其字符进行排序后,一定会得到相同的字符串。因此,可以将排序后的字符串作为哈希表的键(Key)来进行分组。

sheshibenniaodan的博客 218

【MPC 算法】Python 实战:模型预测控制(MPC)算法原理与代码实现

本文介绍模型预测控制(MPC)原理与Python实现。MPC通过滚动优化预测未来状态,结合系统模型、目标函数与约束条件,动态生成最优控制序列。以一阶温度系统为例,使用CVXPY构建凸优化问题,实现加热功率的智能调控。代码包含模型预测、目标函数设计(含温度跟踪与控制平滑惩罚)、输入约束及滚动更新机制。仿真结果表明,MPC能快速稳定温度至目标值60℃,且控制动作平滑合理,体现其在复杂系统中的优越性。

赖德发的博客 57

算法61,判定是否为字符重排

两字符串能互为重排 ⇔。

sheshibenniaodan的博客 224

【前缀和+复合离散化】题解:双色矩形(two)_数据结构_算法优化_预处理_二维前缀和_STL_C++算法竞赛

给定一个 $n \times n$ 的黑白棋盘,初始按 $i+j$ 奇偶染色,经 $k$ 个格子颜色翻转后,求子矩形中黑白格子数差的绝对值最大值。由于 $n$ 可达 $10^9$,但 $k \leq 50$,可离散化关键点。枚举所有由修改点构成的矩形及其四边向外扩展(共 $16$ 种扩展方式),利用二维前缀和快速计算变化量,结合奇偶性判断多出的格子颜色,最终取最大绝对差。时间复杂度为 $O(k^4)$,在 $k \leq 50$ 下可行。

YLCHUP的博客 210
上一篇: 肝了一个月,终于搞到了 30 页的 Python 进阶面试题
下一篇: 线性回归算法原理及实现
Wang_AI
博客等级 码龄12年 997粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值