原创 CS231N-Assignment1-KNN中no-loop

1.NumPy / SciPy Recipes for Data Science: Computing Nearest Neighbors 2.關於CS231N-Assignment1-KNN中no-loop矩陣乘法代碼的講解 3

原创 動態規劃

動態規劃

原创 sigmoid、softmax和交叉熵損失函數

這幾個概念看似簡單,但很多人應該還是模模糊糊,並沒有十分搞清楚,主要疑惑的點應該就是下面幾個問題。 1.sigmoid和softmax的關係? 參考 2.二分類時,最後的輸出層應該是1個神經元還是2個神經元? 參考 3.多分類包

原创 最大似然估計(MLE)與最大後驗估計(MAP)

對於函數P(x|θ),從不同的觀測角度來看可以分爲以下兩種情況: 如果θ已知且保持不變,x是變量,則P(x|θ)稱爲概率函數,表示不同x出現的概率。 如果x已知且保持不變,θ是變量,則P(x|θ)稱爲似然函數,表示不同θ下,x出

原创 dict(字典)的排序與查找

min(record, key=record.get), 返回最小的value對應的key,如果有多個value相同,只返回第一個。 max(record, key=record.get),返回最大的value對應的key,如果

原创 Pytorch中BCEWithLogitsLoss和CrossEntropyLoss的區別

BCEWithLogitsLoss用於單標籤二分類或者多標籤二分類,輸出和目標的維度是(batch,C),batch是樣本數量,C是類別數量,對於每一個batch的C個值,對每個值求sigmoid到0-1之間,所以每個batch的

原创 對遞歸的理解以及怎麼寫遞歸程序

1.一定要搞清楚當前你的遞歸程序的功能是什麼,以及需不需要返回值,如果需要,則返回的值是什麼,如果對當前遞歸程序要完成的功能模棱兩可、一知半解,那麼邏輯肯定混亂,也就不容易寫出正確的遞歸程序。 2.找遞歸終止條件,根據函數

原创 玩轉算法面試 從真題到思維全面提升算法思維(筆記)

一、複雜度分析 爲了保險起見,上述的數據規模可以再減少一個量級 O(nlgn) 在數據量很大的時候,與O(n^2)差距還蠻大的。在數據量很大的時候,O(nlgn)甚至都與O(n)差距不大。 遞歸算法的時間複雜度分析

原创 算法(位運算)

負數的位運算: 負數進行位運算時是以補碼形式進行的,如果運算結果首位爲1,結果也需要求一次補碼,才能得到最終的結果。 例子如下: 1.-10的補碼: #原碼,負數首位爲1 1000 0000 0000 0000 0000 0000 0

原创 pytorch基礎

1.訓練時順序 #第一種寫法 #梯度置零,也就是把loss關於weight的導數變成0 optimizer.zero_grad() #前饋計算輸出和損失 outputs =

原创 python中的 迭代器/生成器/可迭代對象/可調用對象的區別和聯繫

1.iterator: 迭代器對象,也屬於python的名詞,只能迭代一次。需要滿足如下的迭代器協議 定義了__iter__方法,但是必須返回自身 定義了next方法,在python3.x是__next__。用來返回下一個值,並且當

原创 Python3中**和*的區別

我們知道**代表次方。 如下 >>>12 * 12 144 >>>12 ** 2 144 >>>a=1e200 >>> a 1e+200 >>>a ** 2 Traceback (most recent call last): F

原创 Pythorch torch.nn 與 torch.nn.functional的區別

我們知道在torch.nn和torch.nn.functional中有許多類似的激活函數或者損失函數,例如: torch.nn.ReLU 和 torch.nn.functional.relu torch.nn.MSEloss 和 to

原创 關於梯度下降的一些概念理解

偏導數的定義 前面已經說明,二元函數z=f(x,y)的圖形一般是一張曲面,它在點(x0,y0)處對x的偏導數相當於一元函數z=f(x,y0)在點x0處的導數,在幾何上,函數z=f(x,y0)的圖形可看成在平面y=y0上的曲線,即曲面z

原创 python argparse/logging

1.python argparse用法總結 2.Python-argparse-命令行與參數解析 python logging模塊使用教程