2021年七月中旬,百度算法面試5道題分享!
文 | 七月在線
編 | 小七

目錄
FIGHTING
問題1:過擬合怎么解決?
問題2:樸素貝葉斯為啥樸素?
問題3:python裝飾器 !
問題4:python生成器 !
問題5:L1正則化與L2正則化的區(qū)別!

問題1:過擬合 怎么解決
過擬合:是指訓練誤差和測試誤差之間的差距太大。換句換說,就是模型復雜度高于實際問題,模型在訓練集上表現(xiàn)很好,但在測試集上卻表現(xiàn)很差。
欠擬合:模型不能在訓練集上獲得足夠低的誤差。換句換說,就是模型復雜度低,模型在訓練集上就表現(xiàn)很差,沒法學習到數據背后的規(guī)律。
如何解決欠擬合?
欠擬合基本上都會發(fā)生在訓練剛開始的時候,經過不斷訓練之后欠擬合應該不怎么考慮了。但是如果真的還是存在的話,可以通過增加網絡復雜度或者在模型中增加特征,這些都是很好解決欠擬合的方法。
如何防止過擬合?
獲取和使用更多的數據(數據集增強)、降低模型復雜度、L1\\L2\\Dropout正則化、Early stopping(提前終止)
問題2:樸素貝葉斯 為啥樸素
之所以被稱為“樸素”, 是因為它假定所有的特征在數據集中的作用是同樣重要和獨立的,正如我們所知,這個假設在現(xiàn)實世界中是很不真實的,因此,說是很“樸素的”。
問題3:python裝飾器
裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,裝飾器的返回值也是一個函數對象。它經常用于有切面需求的場景,比如:插入日志、性能測試、事務處理、緩存、權限校驗等場景。
如:使用python裝飾器獲取某個函數的運行時間
問題4:python生成器
介紹python生成器需要先介紹可迭代對象和迭代器。
可迭代對象(Iterable Object),簡單的來理解就是可以使用 for 來循環(huán)遍歷的對象。比如常見的 list、set和dict。
可迭代對象具有__iter__ 方法,用于返回一個迭代器,或者定義了getitem方法,可以按 index 索引的對象(并且能夠在沒有值時拋出一個 IndexError 異常),因此,可迭代對象就是能夠通過它得到一個迭代器的對象。所以,可迭代對象都可以通過調用內建的 iter() 方法返回一個迭代器。
生成器其實是一種特殊的迭代器,不過這種迭代器更加優(yōu)雅。它不需要再像上面的類一樣寫__iter__()和__next__()方法了,只需要一個yiled關鍵字。
問題5:L1正則化與L2正則化的區(qū)別
L1范數(L1 norm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規(guī)則算子”(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范數實際是一種對于成本函數求解最優(yōu)的過程,因此,L1范數正則化通過向成本函數中添加L1范數,使得學習得到的結果滿足稀疏化,從而方便人類提取特征,即L1范數可以使權值稀疏,方便特征提取。
L2范數可以防止過擬合,提升模型的泛化能力。
L1和L2的差別,為什么一個讓絕對值最小,一個讓平方最小,會有那么大的差別呢?看導數一個是1一個是w便知, 在靠進零附近, L1以勻速下降到零, 而L2則完全停下來了. 這說明L1是將不重要的特征(或者說, 重要性不在一個數量級上)盡快剔除, L2則是把特征貢獻盡量壓縮最小但不至于為零. 兩者一起作用, 就是把重要性在一個數量級(重要性最高的)的那些特征一起平等共事(簡言之, 不養(yǎng)閑人也不要超人)。
更多請看七月在線題庫里的這題: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、推薦系統(tǒng),其中計算機視覺(CV)作為人工智能技術的領頭羊,被廣泛應用到∶人臉識別、安防監(jiān)控、無人駕駛、醫(yī)療影像等各個領域﹔也催生了一批除BAT和安防老大??低曋獾腃V獨角獸,比如︰商湯、曠視、依圖、云從科技、字節(jié)跳動等;最近百度官宣造車計劃,帶火無人駕駛領域,CV方向就業(yè)前景一片大好。
本次特訓課程是CV就業(yè)班的前期先導課,講解了卷積神經網絡基礎知識、圖像搜索、車輛重識別及實戰(zhàn)演練,如有就業(yè)或提升能力的需求,可繼續(xù)學習CV就業(yè)班課程(就業(yè)班課程配置CPU+大GPU雙云平臺、隨時“硬Train—發(fā)”)。
戳↓↓“閱讀原文” 1分秒殺【計算機視覺特訓】課程!






