原创 對誤差反向傳播的理解和學習

    關於反向傳播,我非常推薦下面的一個在線書籍,其給出了非常詳實、生動且易於理解的反向傳播算法以及相關公式的推導,公式不繁雜是一大特點,Neural Networks and Deep Learning。本文將對其講解給以歸納和總結,

原创 理解邏輯迴歸中的後驗概率和損失函數

一、理解後驗概率         在LR中, 後驗概率 。很多人不禁會問,爲什麼要這麼計算?  這裏通過對後驗概率的推導,並結合sigmod,來談談自己的看法。         首先,由貝葉斯公式得                    

原创 神經網絡中的激活函數爲什麼都是平滑或近似平滑的?

    神經網絡中選擇的激活函數都是較爲平滑的函數,如sigmod,tanh等,也有一些近似平滑的(僅在個別點處不可導,但是連續),如Relu。根據整理資料和一些個人的見解,整理幾條原因以供大家參考。 激活值不存在像感知機那樣的階躍現象,

原创 C++ STL Deque源碼閱讀紀要

一、deque是什麼     deque是雙向隊列,隊頭和隊尾都能進行插入和刪除,這是與vector不同之處之一。另外與vector的一點不同之處是deque的內存由分段連續空間組成,沒有容量的概念,即沒有vector在需要擴容時進行的開

原创 二分查找注意事項及其變形

一、實現 public int bsearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high) { i

原创 對隨機梯度下降+mini-batch的理解

    隨機梯度下降的每輪訓練包含了多次迭代,每次迭代將訓練數據隨機分成M份,每次迭代選取一份進行訓練,該份數據被稱爲mini-batch,mini-batch大小可在1 ~ N之間,若爲1,則退化爲在線學習,訓練過程如下。      

原创 理解均攤時間複雜度

        均攤時間複雜度分析,又叫攤還分析(或者叫平攤分析)。均攤時間複雜度,聽起來跟平均時間複雜度有點兒像。對於初學者來說,這兩個概念確實非常容易弄混。大部分情況下,我們並不需要區分最好、最壞、平均三種複雜度。平均複雜度只在某些特

原创 算法設計與編寫技巧

    關於算法方面的技巧,本文將從設計和編寫兩個角度分別進行總結,這些技巧是本人在解決一些算法問題時總結出的一些經驗,後續會不斷補充,歡迎感興趣的朋友多提寶貴意見。 一、編寫技巧  爲實現一個數a除以2,向右移位比 a / 2 高明且有

原创 智能指針詳解

什麼是智能指針? 智能指針其實和C++內置的指針行爲十分相像,只不過它們所指向的對象無需我們主動進行內存釋放,而是由它們在合適的時機釋放所指向對象佔用的內存空間,此即"智能"之處。   智能指針有什麼特殊功效? 首先,智能指針在遇到異常時

原创 分佈式鎖(基於redis和zookeeper)詳解

原文鏈接:https://blog.csdn.net/a15835774652/article/details/81775044#commentBox 爲什麼寫這篇文章? 目前網上大部分的基於z

原创 《周易》研讀筆記

名詞解釋(來自百度搜索) 九三,九五等,都是易經特有的“爻"的名,比如說乾卦,是從上到下依次排列的六道槓槓(即“六爻”),這六道槓槓每道槓槓從下到上分別對應 “初九”,“九二”,“九三”,“九四”,“九五”,“上九”。 這是爻的名,每個爻

原创 10分鐘看懂!基於Zookeeper的分佈式鎖

原文鏈接:https://blog.csdn.net/qiangcuo6087/article/details/79067136 實現分佈式鎖目前有三種流行方案,分別爲基於數據庫、Redis、Z

原创 Python多線程編程的一些注意事項

Python多線程代碼的執行過程中,經常出現運行預期與實際情況不符的情況,針對這些情況,本文給出一些編程和排查建議。 1、檢查是否是某個線程已經掛掉,導致其它線程無法正常工作。對於平時多專注於單線程數據處理的同學來說,這是一個隱藏較深的坑

原创 java NIO概述

一  什麼是線層阻塞?        線程阻塞即線程高風亮節讓出或放棄CPU,暫停執行,只有等到導致阻塞的原因解除,才能恢復運行;或者被其他線程中斷,該線程會退出阻塞狀態,並且拋出InterrutedException. 二  常見的導致

原创 論樞紐元的選擇方式對快速排序性能的影響

    樞紐元的選擇需要結合待排序數據的具體形態而定,如數據是否排序,是逆序還是正序等,下表對各種數據形態下的樞紐元選擇進行了總結。