原创 隨機森林特點

介紹 我的另一篇博客對隨機森林算法有了一個簡單的介紹,傳送門。本文則從分析和應用的角度,嘗試對隨機森林算法的一些細節進行探討,主要還是以學習爲主。 隨機森林的特點 包外估計 特徵重要性 樣本相似圖(proximity plot) 4.

原创 隨機森林算法介紹

翻譯維基百科 引言 隨機森林或隨機決策樹是一種用於分類,迴歸和其他任務的集成學習方法,通過在訓練時間內構建多個決策樹並輸出作爲類的標籤(分類)或個體樹預測的平均值(迴歸)。隨機森林可以修正決策樹的歸納偏好而產生的過擬合。 隨機森林的第一

原创 土木碩士轉行互聯網小結

前言 先簡單自我介紹一下,本人是2018屆某985土木碩士,2017年6~9月在今日頭條算法工程師崗位實習,最終也成功簽約了。轉行過程中的迷茫與無助是轉行最大的困難,因此我想給對互聯網行業有興趣,且有轉行想法的學弟學妹提供一些幫助。 興趣

原创 2017 BAT某家實習生電面---第一次電面的慘痛經歷

引言 就在剛纔本人完成了第一次電面,說是電面實際上應該算是筆試。。因爲面試官打了電話給我後,沒說幾句就問我是否有時間做筆試題,我說有之後就發了一個collabedit地址給我。。第一次見這種筆試模式的我真是一臉懵逼。。看了很久才懂這個網站

原创 程序員筆試題----鏈表的stable_partition

最近騰訊筆試了一道關於鏈表partition的題,還要求穩定性,當時沒有做出來。現在思考了一下,其實不難。只需要根據partition要求分別建立兩個鏈表,然後遍歷原鏈表,調整每個節點的鏈接即可。時間複雜度爲O(n)空間複雜度爲O(1)

原创 程序員筆試題---01揹包問題

引言 前幾天筆試網易,題目比華爲難度高,但是其實都很常規,主要還是自己練習太少,很多題目都只是粗淺的看過,並沒有理解其內涵。比如網易家這道關於雙核CPU任務調度的,實際上就是01揹包問題,當時記得見過這類問題,但是沒有想到是01揹包問題,

原创 C++動態內存分配---allocator類的原理與實現(一)

引言 說到C++動態內存分配,我們首先都會想到new和delete運算符,new運算符可以分配並初始化一個對象或對象數組,並返回指向數組第一個對象的指針。而delete運算符則逐個銷燬(根據對象數組倒序執行析構函數)對象並回收內存,需要注

原创 Adaboost算法原理與實踐

boosting算法 Adaboost算法是boosting(提升方法)的代表性方法。在分類問題中,boosting通過反覆修改訓練數據的權重分佈,構建一系列的基本分類器 ,並將這些分類器線性組合構成強分類器。 Adaboost算法 對於

原创 一步一步實現自己的shell程序(一)---《Unix環境高級編程》讀書筆記

代碼見github 引言 用過Unix/Linux系統的人都知道,Unix系統中很多命令和程序都是在終端中運行,這個終端就是shell。不同的Unix都有不同的默認shell程序,包括sh、csh、bash等等不同的shell程序。那麼什

原创 一步一步實現自己的shell程序(三)---IO重定向和管道

代碼見github 基本知識 IO重定向 Unix系統中,每個程序都有三個數據流,分別爲: 標準輸入stdin——-需要處理的數據流 標註輸出stdout——–結果數據流 標準錯誤輸出stderr—–錯誤消息流 默認的三個數據流的文

原创 C++ 格式化IO

引言 昨天筆試騰訊後,收穫不少,雖然比上次網易的情況略好一些,但是感覺自己的coding能力還是不夠,在高壓力情況下的心理素質不過關。本文順帶總結一下筆試中遇到的C++格式化輸出問題,當時由於緊張和對知識的不熟悉,對這道簡單的格式化輸出竟

原创 使用Haar Cascade 進行人臉識別

前言 學完了deeplearnning.ai 的卷積神經網絡課程之後,爲了更直觀的理解人臉識別,我想使用openCV來實現人臉識別。(以下爲譯文) 目的 我們將學習基於Haar特徵的人臉識別分類器的一些基礎知識 我們還會將人臉識別擴展到

原创 線性迴歸原理和實踐--《機器學習實戰》筆記

迴歸與分類的區別 和分類問題一樣,迴歸問題也是預測目標值的過程。迴歸與分類不同點在於,前者預測連續型變量,後者預測離散型變量。 線性迴歸 結果易於理解 對非線性的數據擬合不好 適用於數值型和標稱型數據 線性迴歸步驟 將標稱型數據編碼

原创 推薦系統中的用戶偏好

引言 在推薦系統中,一個核心的問題就是對用戶的偏好建模。所謂的用戶偏好就是指用戶對物品(可能是音樂,電影,商品等)的喜好程度。如何根據已有的用戶行爲和信息,準確地對用戶偏好進行預測是一個很重要的問題。 用戶偏好模型 如圖所示,我們可以利

原创 C++標準模板庫(STL)迭代器的原理與實現

引言 迭代器(iterator)是一種抽象的設計理念,通過迭代器可以在不瞭解容器內部原理的情況下遍歷容器。除此之外,STL中迭代器一個最重要的作用就是作爲容器(vector,list等)與STL算法的粘結劑,只要容器提供迭代器的接口,同一