原创 16、什麼是擬牛頓法(Quasi-Newton Methods)?

擬牛頓法是求解非線性優化問題最有效的方法之一,於20世紀50年代由美國Argonne國家實驗室的物理學家W.C.Davidon所提出來。Davidon設計的這種算法在當時看來是非線性優化領域最具創造性的發明之一。不久R. Fletcher

原创 14、熵、聯合熵、條件熵、相對熵、互信息的定義

熵:如果一個隨機變量X的可能取值爲X = {x1, x2,…, xk},其概率分佈爲P(X = xi) = pi(i = 1,2, ..., n),則隨機變量X的熵定義爲: 把最前面的負號放到最後,便成了: 上面兩個熵的公式,無論用哪

原创 15、說說你知道的核函數

通常人們會從一些常用的核函數中選擇(根據問題和數據的不同,選擇不同的參數,實際上就是得到了不同的核函數),例如: 多項式核 顯然剛纔我們舉的例子是這裏多項式核的一個特例(R = 1,d = 2)。雖然比較麻煩,而且沒有必要,不過這個核所

原创 13、牛頓法和梯度下降法有什麼不同?

牛頓法(Newton's method) 牛頓法是一種在實數域和複數域上近似求解方程的方法。方法使用函數f (x)的泰勒級數的前面幾項來尋找方程f (x) = 0的根。牛頓法最大的特點就在於它的收斂速度很快。 具體步驟: 首先,選擇一個接

原创 12、說說梯度下降法

1 什麼是梯度下降法 經常在機器學習中的優化問題中看到一個算法,即梯度下降法,那到底什麼是梯度下降法呢? 維基百科給出的定義是梯度下降法(Gradient descent)是一個一階最優化算法,通常也稱爲最速下降法。 要使用梯度下降法找到

原创 編譯libpng + zlib

下載libpng 下載zlib 先解壓到同一級目錄下面 直接libpng裏面的項目文件打開 G:\Build\lpng1637\projects\vstudio 編譯直接編譯libpng的話,會發現錯誤 無法打開zlib的文件 仔細

原创 5、數據歸一化(或者標準化,注意歸一化和標準化不同)的原因

要強調:能不歸一化最好不歸一化,之所以進行數據歸一化是因爲各維度的量綱不相同。而且需要看情況進行歸一化。 有些模型在各維度進行了不均勻的伸縮後,最優解與原來不等價(如SVM)需要歸一化。 有些模型伸縮有與原來等價,如:LR則不用歸一化,但

原创 人臉位置標識程序

最近學習R-CNN,好像訓練的時候需要物體位置作爲標籤 Opencv + libfacedetection #include <corecrt_io.h> #include <iostream> #include <string> #

原创 imgui顯示圖片

搞了半天終於會用imgui顯示圖片了,記錄一下 #include <windows.h> #include <assert.h> #include <d3d9.h> #pragma comment(lib,"d3d9") #defi

原创 10、LR和SVM的聯繫與區別

LR和SVM都可以處理分類問題,且一般都用於處理線性二分類問題(在改進的情況下可以處理多分類問題) 區別: 1、LR是參數模型,svm是非參數模型,linear和rbf則是針對數據線性可分和不可分的區別; 2、從目標函數來看,區別在於邏輯

原创 8、簡單介紹下LR

雖然邏輯斯蒂迴歸姓迴歸,不過其實它的真實身份是二分類器。先弄清楚一個概念:線性分類器。 給定一些數據點,它們分別屬於兩個不同的類,現在要找到一個線性分類器把這些數據分成兩類。 如果用x表示數據點,用y表示類別(y可以取1或者-1,分別代表

原创 Win32顯示jpg圖像

//第一步 加入stbi的兩個頭文件 #define STB_IMAGE_IMPLEMENTATION #include "stbi/stb_image.h" #define STB_IMAGE_WRITE_IMPLEMENTATI

原创 6、請簡要說說一個完整機器學習項目的流程

1 抽象成數學問題 明確問題是進行機器學習的第一步。機器學習的訓練過程通常都是一件非常耗時的事情,胡亂嘗試時間成本是非常高的。 這裏的抽象成數學問題,指的我們明確我們可以獲得什麼樣的數據,目標是一個分類還是迴歸或者是聚類的問題,如果都不是

原创 Imgui顯示中文

#include <windows.h> #include <winnls.h> #include <iostream> std::string utf8_to_string(const std::string& str) { in

原创 在window系統下不需要Cygwin編譯darknet

準備文件 - 進入我上傳的資源頁面下載darknet-window.zip文件 - 準備3.4.0版本的opencv,版本太高會報錯 - 安裝有CUDA   開始操作 1. 進入文件夾darknet-master\build\darkne