2021年七月中旬,百度算法面试5道题分享!

七月在线实验室

共 2159字,需浏览 5分钟

 ·

2021-09-14 12:48

文 | 七月在线
编 | 小七


目录

FIGHTING


问题1:过拟合怎么解决?

问题2:朴素贝叶斯为啥朴素?

问题3:python装饰器 !

问题4:python生成器 

问题5:L1正则化与L2正则化的区别!


问题1:过拟合 怎么解决

  • 过拟合:是指训练误差和测试误差之间的差距太大。换句换说,就是模型复杂度高于实际问题,模型在训练集上表现很好,但在测试集上却表现很差。

  • 欠拟合:模型不能在训练集上获得足够低的误差。换句换说,就是模型复杂度低,模型在训练集上就表现很差,没法学习到数据背后的规律。


如何解决欠拟合?

欠拟合基本上都会发生在训练刚开始的时候,经过不断训练之后欠拟合应该不怎么考虑了。但是如果真的还是存在的话,可以通过增加网络复杂度或者在模型中增加特征,这些都是很好解决欠拟合的方法。


如何防止过拟合?

获取和使用更多的数据(数据集增强)、降低模型复杂度、L1\\L2\\Dropout正则化、Early stopping(提前终止)


问题2:朴素贝叶斯 为啥朴素

之所以被称为“朴素”, 是因为它假定所有的特征在数据集中的作用是同样重要和独立的,正如我们所知,这个假设在现实世界中是很不真实的,因此,说是很“朴素的”。



问题3:python装饰器 

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。


如:使用python装饰器获取某个函数的运行时间



问题4:python生成器

介绍python生成器需要先介绍可迭代对象和迭代器。


可迭代对象(Iterable Object),简单的来理解就是可以使用 for 来循环遍历的对象。比如常见的 list、set和dict。 


可迭代对象具有__iter__ 方法,用于返回一个迭代器,或者定义了getitem方法,可以按 index 索引的对象(并且能够在没有值时抛出一个 IndexError 异常),因此,可迭代对象就是能够通过它得到一个迭代器的对象。所以,可迭代对象都可以通过调用内建的 iter() 方法返回一个迭代器。


生成器其实是一种特殊的迭代器,不过这种迭代器更加优雅。它不需要再像上面的类一样写__iter__()和__next__()方法了,只需要一个yiled关键字。


 问题5:L1正则化与L2正则化的区别

L1范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。


比如 向量A=[1,-1,3], 那么A的L1范数为 |1|+|-1|+|3|.


简单总结一下就是:

L1范数: 为x向量各个元素绝对值之和。

L2范数: 为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或者Frobenius范数

Lp范数: 为x向量各个元素绝对值p次方和的1/p次方.


在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便人类提取特征,即L1范数可以使权值稀疏,方便特征提取。

L2范数可以防止过拟合,提升模型的泛化能力。


L1和L2的差别,为什么一个让绝对值最小,一个让平方最小,会有那么大的差别呢?看导数一个是1一个是w便知, 在靠进零附近, L1以匀速下降到零, 而L2则完全停下来了. 这说明L1是将不重要的特征(或者说, 重要性不在一个数量级上)尽快剔除, L2则是把特征贡献尽量压缩最小但不至于为零. 两者一起作用, 就是把重要性在一个数量级(重要性最高的)的那些特征一起平等共事(简言之, 不养闲人也不要超人)。


更多请看七月在线题库里的这题:https://www.julyedu.com/questions/interview-detail?kp_id=23&cate=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&quesId=995



— 今日学习·限时1分秒 —

人工智能三大应用方向CV、NLP、推荐系统,其中计算机视觉(CV)作为人工智能技术的领头羊,被广泛应用到∶人脸识别、安防监控、无人驾驶、医疗影像等各个领域﹔也催生了一批除BAT和安防老大海康威视之外的CV独角兽,比如︰商汤、旷视、依图、云从科技、字节跳动等;最近百度官宣造车计划,带火无人驾驶领域,CV方向就业前景一片大好。

本次特训课程是CV就业班的前期先导课,讲解了卷积神经网络基础知识、图像搜索、车辆重识别及实战演练,如有就业或提升能力的需求,可继续学习CV就业班课程(就业班课程配置CPU+大GPU双云平台、随时“硬Train—发”)。 

阅读原文” 1分秒杀【计算机视觉特训课程

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报