原创 C++中智能指針auto_ptr

1. 智能指針auto_ptr的引入 auto_ptr是C++標準庫中的智能指針模板類,頭文件<memory> auto_ptr的出現,主要是爲了解決“有異常拋出時發生內存泄漏”的問題。如下的簡單代碼是這類問題的一個簡單示例。 i

原创 SVM相關知識總結

一、相關理解 1. 爲什麼一定要研究線性分類? 首先說一下爲什麼對數據集一定要說線性可分或線性不可分,難道不可以非線性分開嗎?想要非線性分開當然可以,實際上SVM只是把原來線性不可分的數據點映射到一個新的空間,轉換爲在新空間中線性可

原创 C++之RAII慣用法

C++中的RAII全稱是“Resource acquisition is initialization”,直譯爲“資源獲取就是初始化”。但是這翻譯並沒有顯示出這個慣用法的真正內涵。RAII的好處在於它提供了一種資源自動管理的方式,當產生異

原创 多專家模型(mixture of experts)

Mixtures of experts 本小節介紹多專家模型(the mixture of experts model),該模型的思想是訓練多個神經網絡(也就是多個專家),每個神經網絡(專家)被指定(specialize)應用於數據集

原创 模型融合(stacking&blending)

參考文獻鏈接(後來補充) http://wakemeup.space/?p=109 https://zhuanlan.zhihu.com/p/25742261 2016CCF大賽-搜狗用戶畫像-經驗分享 http://blog.csd

原创 C++中Template

模板(Template)指C++程序設計設計語言中採用類型作爲參數的程序設計,支持通用程序設計。C++ 的標準庫提供許多有用的函數大多結合了模板的觀念,如STL以及IO Stream。 函數模板 在c++入門中,很多人會接觸swap

原创 常見分類算法優缺點

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、           決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、           對於決策樹,數據的準備往往是簡單或者是不

原创 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點

目錄 正則化算法(Regularization Algorithms) 集成算法(Ensemble Algorithms) 決策樹算法(Decision Tree Algorithm) 迴歸(Regression) 人工神經網

原创 C++析構函數爲什麼要爲虛函數

1.爲什麼基類的析構函數是虛函數?   在實現多態時,當用基類操作派生類,在析構時防止只析構基類而不析構派生類的狀況發生。   a.第一段代碼 #include<iostream> using namespace std; cla

原创 C++中的static關鍵字

C++的static有兩種用法:面向過程程序設計中的static和麪向對象程序設計中的static。前者應用於普通變量和函數,不涉及類;後者主要說明static在類中的作用。一、面向過程設計中的static1、靜態全局變量 在全局變量前,

原创 關於private繼承

在C++的類中有許多種繼承方式,而我們在軟件設計和編寫代碼時用得最多的就是public繼承,我們很少接觸到private繼承。但是我們在設計時真的有思考過什麼時候應該用public繼承,什麼時候不該使用public繼承,什麼時候應該想想

原创 關於C++中的友元函數的總結

1.友元函數的簡單介紹 1.1爲什麼要使用友元函數 在實現類之間數據共享時,減少系統開銷,提高效率。如果類A中的函數要訪問類B中的成員(例如:智能指針類的實現),那麼類A中該函數要是類B的友元函數。具體來說:爲了 使其他類的成員函

原创 C++中的explicit關鍵字

在C++程序中很少有人去使用explicit關鍵字,不可否認,在平時的實踐中確實很少能用的上。再說C++的功能強大,往往一個問題可以利用好幾種C++特性去解決。但稍微留心一下就會發現現有的MFC庫或者C++標準庫中的相關類聲明中expli

原创 機器學習算法中GBDT與Adaboost的區別與聯繫

一、Adaboost原理 參見博客http://blog.csdn.net/dark_scope/article/details/14103983 二、GBDT與Adaboost的區別與聯繫(GBDT做分類時與LR的區別) http

原创 C++中i++和++i的區別

答:理論上++i更快,實際與編譯器優化有關,通常幾乎無差別。  i++實現的代碼爲: //i++實現代碼爲: int operator++(int)