原创 神經網絡基礎--循環神經網絡RNN

在處理序列問題(如語言識別等)上,使用循環神經網絡(Recurrent Neural Networks,RNN)是很自然的方式;所謂循環神經網絡,其實就是把上一時刻的信息作爲當前時刻輸入的一部分,從而實現信息的傳遞;本文將先介紹基礎版RN

原创 神經網絡基礎3:優化方法

本篇主要講神經網絡的常見優化方法。 目前,出現了很多優化方法,如SGD、AdaGrad、RMSProp、AdaDelta、Momentum、Nesterov-Momentum (Nesterov’s accelerated gradien

原创 神經網絡基礎--指數加權移動平均ewma

因爲神經網絡中的常用優化算法都會涉及到指數加權移動平均(exponential weighted moving average, ewma;也可稱爲exponential moving average,ema),所以這裏單獨寫下這個知識點

原创 Lagrange與KKT的簡易解釋

本文將以梯度下降法的方式來解釋Lagrange和KKT。 關鍵詞:梯度下降法、等高線 基礎定義 Lagrange 求解等式約束下的最優化問題 Lagrange函數: (1) 方程組的解是原問題的可能的最優解 KKT 求解不等式約束下的最

原创 SVM基礎--超平面

超平面 定義: 超平面的法向量 法向量:與超平面上任一向量正交的向量 如圖所示,點a、z爲超平面上的任意兩點,即有,則向量a-z爲超平面上的任一向量,且有,根據法向量的定義,可知該超平面的法向量即爲W,單位法向量爲。 點到超平面的距離d

原创 神經網絡基礎2:激活函數

不是所有信息都是有用的,一些只是噪音;激活函數可以幫助神經網絡做這種隔離,激活有用的信息,並抑制無關的數據點。 以下將介紹神經網絡中常用的幾種激活函數:sigmoid、tanh、ReLu、leaky ReLu、PReLu、ELU、maxo

原创 神經網絡基礎1:數據處理biasing與scaling

數據處理 我們知道在神經網絡中,通常需要對樣本數據進行預處理(Z-score standardization)、對各層中間隱層進行normalization(如Batch-normalization、layer-normalization

原创 GBDT與xgb

GBDT GBDT,梯度提升決策樹,是一種以決策樹爲base learner的集成方法,以串行的方式,不斷的學習新的base learner,每次都朝目標前進一些,形成一系列base learner,最終由這一系列base learner

原创 knn基礎與優化2--ball tree、LSH

ball-tree 爲了改進kd-tree沿着笛卡爾座標進行劃分的低效率,ball tree將使用超球面而不是超平面來劃分空間。雖然在構建數據結構的花費上大過於kd-tree,但是在高維甚至很高維的數據上都表現的很高效。ball tree

原创 knn基礎與優化1--kd-tree

KNN KNN(K-Nearest Neighbours),k最近鄰算法,是一個基於距離的有監督算法,常被用於分類問題的算法,它也可以用於迴歸問題。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個數據點都可以用它最接近的k個鄰居數據點來

原创 k-means基礎

K-Means 是一種基於距離的無監督聚類算法,其算法思想較爲簡單,如下所示: 目標:將數據聚成K個簇,並找到這K個簇的簇心 步驟: 1. 隨機選擇K個點作爲初始簇心 2. 計算每個數據點到各個簇心的距離,將每個數據點歸屬到最近的那個簇

原创 EM算法系列--原理

本系列通過如下兩部分來講解EM算法: 1. EM算法的原理 2. EM算法實際應用--HMM EM算法原理 EM算法全稱是 最大期望算法(Expectation-Maximization algorithm, EM),是一類通過迭代進行極

原创 L1、L2正則的效果

本文主要講L1、L2正則,首先從直觀上展示L1、L2正則,接着展示其梯度的效果。 擬合過程中通常都傾向於讓權值儘可能小,即構造一個所有參數都比較小的模型。一般認爲參數值小的模型比較簡單,能在一定程度上避免過擬合現象,抗擾動能力強,因爲若參

原创 logistic regression的概率思想

本篇將對LR(logistic regression)進行講解,主要從以下幾個方面展開: LR的兩種等價表示形式 LR與線性迴歸 LR與最大似然 LR與最大後驗 LR參數求解 LR的兩種等價表示形式 LR是一個線性二分類的概率模型,表示爲

原创 非線性SVM--kernel

前面我們知道,SVM本質是一個線性分類器,如果數據本身線性不可分,那SVM就不能直接應用了;雖然不能直接應用,但還是可以先把數據變得基本線性可分再應用SVM;那如何把數據從線性不可分變成基本線性可分的狀態呢?答案便是進行空間轉換,把數據從