2023阿里智能互联算法工程师 机器学习一面

2023-12-13 20:47:10

来源:投稿 作者:LSC
编辑:学姐

电话面,时长1.5h

1.详细介绍实习项目

2.介绍决策树和gbdt以及它们之间的关系

决策树可以被看作是GBDT中的基本学习器之一。在GBDT中,每棵树都是通过迭代学习而来的,每一棵树都试图纠正前一棵树的预测误差。通常,GBDT使用回归树(Regression Tree)作为基学习器。GBDT通过将多棵决策树组合在一起来构建一个更强大的模型,这些树相互协作,纠正前一棵树的不足,从而提高整体性能。GBDT的目标是最小化损失函数。

3.常见的深度学习的优化方法有哪些

  • (1)随机梯度下降 SGD

  • (2)动量 Momentum

  • (3)Adam 算法

  • (4)Adamw算法

不同的优化器实质上只是定义了不同的一阶动量和二阶动量公式。

4.介绍C++的左值右值

左值是是通常可以放在等号左边的表达式,右值是是通常只能放在等号右边的表达式。

左值是有标识符、可以取地址的表达式,最常见的情况有:变量、函数或数据成员的名字返回左值引用的表达式,如 ++x、x = 1、cout << ’ '字符串字面量如 "hello world"在函数调用时,左值可以绑定到左值引用的参数,如 T&。一个常量只能绑定到常左值引用,如 const T&。

右值是没有标识符、不可以取地址的表达式,一般也称之为“临时对象”。最常见的情况有:返回非引用类型的表达式,如 x++、x + 1、make_shared(42)除字符串字面量之外的字面量,如 42、true

5.指针与引用的区别

  • (1)引用访问一个变量是直接访问,而指针是间接访问。

  • (2)引用是一个变量的别名,不额外占用内存空间,而指针是一个变量,有自己的内存空间。

  • (3)引用定义的时候必须赋值,并且赋值之后不可以改变,指针定义的时候可以不赋值,赋值后可以改变其所指的值。

  • (4)引用不可以为空,但是指针可以指向空值。

  • (5)引用是类型安全的,一般不会引起内存泄露的问题,指针可能会,一般尽可能用引用代替指针。

6.各种设计模型

  • (1)单例模式:确保一个类只有一个实例,并提供一个全局访问点。

  • (2)抽象工厂模式:提供一个接口,用于创建一系列相关或相互依赖的对象,而不需要指定其具体类。

  • (3) 适配器模式:将一个接口转换成另一个接口,以适应不同的客户端需求。

  • (4) 观察者模式:定义对象间的一对多依赖关系,使得一个对象的状态发生变化时,其所有依赖对象都会收到通知并自动更新。

  • (5) 策略模式:定义一系列算法,将每个算法封装起来,并使它们可以 访问者模式: 允许在不改变元素类的前提下定义作用于元素的新操作。

7.python生成器、装饰器

生成器: 函数中包含yield关键字的语句将被视为生成器函数。当调用生成器函数时,它会立即返回一个生成器对象,但不执行函数体内的代码。yield用于生成下一个值,同时保存函数的状态,以便在下一次调用时从上一次暂停的位置继续执行。

装饰器是Python中的一种高级编程特性,用于修改函数或类的行为,而不需要对其本身进行修改。装饰器通常是函数,它可以接受一个函数或类作为参数,并返回一个新的函数或类,从而增加或修改它们的功能。装饰器通常用于代码重用、AOP(面向切面编程)和功能增强。

8.介绍模型量化

模型量化(Model Quantization)是一种用于减小深度学习模型的存储空间和加速推理速度的技术。它通过减少模型权重和激活值的精度,通常将它们从浮点数转换为较低位的整数或定点数,来实现这一目标。

9.对Transformer的了解

关注下方《学姐带你玩AI》🚀🚀🚀

算法工程师万能简历公式+200多个简历模板(中英文)

回复“简历”轻松获取!

码字不易,欢迎大家点赞评论收藏!

文章来源:https://blog.csdn.net/weixin_42645636/article/details/134859719
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。