原创 (圖論)周圍區域問題

問題描述

原创 (圖論)廣度優先搜索(Breadth First Search, BFS)

描述 最簡單、直接的圖搜索算法: 從起點開始層層擴展 第一層是離起點距離爲1的 第二層是離起點距離爲2的 … 本質就是按層(距離)擴展,無回退。 BFS算法分析 1、算法流程: 1、給定某起點 a ,將 a 放入緩衝區,開始

原创 限制性玻爾茲曼機(Restricted Bottzmann Machine,RBM)

背景介紹 一、玻爾茲曼機 玻爾茲曼機簡單地說就是一個馬爾科夫隨機場(Markov Random Field),即一個無向圖模型。但是玻爾茲曼機比無向圖模型還是多了一些東西,就是玻爾茲曼機將其中的節點分爲兩類,一類是 hidden no

原创 (字符串)求一個字符串的全排列

一、問題描述 給定字符串 S[0,…,N-1],設計算法,枚舉 S 的全排列。 二、問題分析 全排列的問題規模是階乘級的,而遞歸算法的時間複雜度就是用遞歸求的,所以考慮用遞歸來求解問題: 分別以1,2,3,4作爲首字符,剩餘的字符串

原创 字符串編輯距離(Edit Distance)

一、問題描述 定義 字符串編輯距離(Edit Distance),是俄羅斯科學家 Vladimir Levenshtein 在 1965 年提出的概念,又稱 Levenshtein 距離,是指兩個字符串之間,由一個轉變成另一個所需的最

原创 (字符串)字符串的循環左移

一、問題描述 字符串的循環左移: 給定一個字符串 S[0,…,N-1],要求把 S 的前 K 個字符移動到 S 的尾部,如把字符串 ‘abcdef’ 前面的 2 個字符 ‘ab’ 移動到字符串的尾部,得到新字符串 ‘cdefab’(字

原创 Longest Common Subsequence

問題描述 LCS 的定義: Longest Common Subsequence,最長公共子序列,即兩個序列 X 和 Y 的公共子序列中,長度最長的那個,並且公共子序列不同於公共字串,公共子序列可以是不連續的,但是前後位置不變。 LC

原创 Longest Increasing Subsequence

問題描述 最長遞增子序列:給定一個長度爲 N 的數組,找出一個最長的單調遞增子序列。例如:給定數組{5,6,7,1,2,8},則其最長的單調遞增子序列爲{5,6,7,8},長度爲4。 問題分析 一、可以將 LIS 問題轉換爲 LCS(

原创 TensorFlow中tf.add_to_collection,tf.get_collecton和tf.add_n的使用方法簡介

tf.add_to_collection(name, value) 把 value 中的變量放入到 name 作爲 key 的一個集合裏,也就是把多個變量統一放在一個列表中。 # 在 loss 作爲 key 的集合中添加變量 >>>

原创 C++中using的使用總結

1、別名聲明 在C++中,可以使用 typedef 爲複雜的類型名字定義一個簡單並且易於理解的類型別名,格式如下: typedef double wages; // wages 是 double 的同義詞 typedef wag

原创 Python中的格式化輸出詳解

格式化輸出詳解 在學習C語言或者Python時,一個很頭疼的問題就是格式化輸出,因此在本文中,將幾種常見的格式化輸出形式進行歸納總結,以便記憶。 Python中的格式化字符串 在 % 操作符的左側放置一個需要進行格式化的字符串,這個

原创 Optimizer(BGD,SGD,MBGD,Momentum,NAG,Adagrad,Adadelta,RMSprop,Adam)詳解

一、optimizer 算法介紹 1、Batch Gradient Descent(BGD) BGD採用整個訓練集的數據來計算 cost function 來進行參數更新。 θ=θ−α⋅∇θJ(θ)\theta = \theta -

原创 交叉熵(cross entropy)與相對熵(relative entropy,KL divergence)的理解

交叉熵(cross entropy) 交叉熵在機器學習中的地位十分重要,常在Logistic迴歸或者神經網絡中作爲Loss Function來使用,下面先詳細談一談交叉熵的定義。 假設現在有關於樣本集的兩個概率分佈p(x)p(x)p(

原创 熵、條件熵、聯合熵、互信息的理解

熵 在信息論中,熵(entropy)是表示隨機變量不確定性的度量,如果一個事件是必然發生的,那麼他的不確定度爲0,不包含信息。假設XXX是一個取有限個值的離散隨機變量,其概率分佈爲: P(X=xi)=piP(X=x_i)=p_iP(X

原创 C++中回調函數使用詳解(普通函數作爲回調函數以及類的成員函數作爲回調函數)

引言: 在C++編程,尤其時寫Qt程序時,需要大量使用回調函數,在網上也有很多大牛對回調函數的使用進行了講解,但是很多都是針對某一個或者兩個特定的類型的。我在這篇文章中對網上關於回調函數的使用進行了歸納總結,並且對每一種類型的回調函數都寫