原创 mxnet框架下超全手寫字體識別—從數據預處理到網絡的訓練—模型及日誌的保存

        Mxnet框架深度學習框架越來越受到大家的歡迎。但是如何正確的使用這一框架,很多人並不是很清楚。從訓練數據的預處理,數據的生成(網絡真正需要的數據格式,網絡模型的保存,網絡訓練日誌的保存,等等,雖然網上有很多的trick,

原创 reduce,map,filter,lambda等python內置函數解析

如何寫出優雅的python腳本程序。作爲一款最接近機器學習,深度學習的腳本語言,python有着其獨特的編程風格,高效的編程方式。請看下面的代碼。    1、輸入一個列表,將列表中的所有非數字的字符去掉,並且將數字字符進行排序。class

原创 python實現堆排序代碼

        堆排序的最好,最壞的時間複雜度都爲nlogn。當我們需要對一個沒有順序的序列進行堆排序,首先需要將這批數據轉化成堆。一般來說,對序列進行降序排列一般使用大頂堆。大頂堆必須滿足:data[index] >= data[2*i

原创 numpy實現簡單的二層網絡------前向和反向傳播

會推導神經網絡的前向和反向傳播是深度學習的基礎,也許大家在實驗使用Tensorflow框架,只需要調用某一個損失函數,傳入參數就可以得到損失,或者Mxnet框架,你都不需要調用任何函數,給個標誌就可以了。但是,你真的會推導麼,如果你不會,

原创 python重要的幾個內置函數用法

        python內置了很多可以供我們直接調用的函數,這些函數的效率往往都非常高,我們在自己造輪子的同時,也非常有必要了解並且正確使用python給我們提供的大量的內置函數,在前面的博客裏面我已經介紹了幾個比較常用的函數,這裏再

原创 使用Set List來隨機生成50個1000以內的隨機數,並且不重複

昨天有位同學說,希望生成50個1000以內的隨機數,並且這些隨機數個個都要不同。其實這是個非常容易實現的。 首先我們得知道方法。其實很多搞學習java的同學,甚至在公司裏面實習的同學們都不太注意甚至都不知道有java API。這是很恐怖的

原创 Q_Learning算法的一個簡單的應用。

想必很多人對Q_Learning比較熟悉。但是Q_Learning重在Learning。那麼Q_Learning以何種方式去Learning呢?我們可以想象一下一個正在森林中摸索前進的迷途小羔羊。周圍能見度很低,只能走一步看一步。它無法預

原创 numpy.digitize(data,bins)函數用法

digitize(data,bins)函數是numpy的一個內置函數。讓人感到很震驚的是,網上居然很少有關於這個函數用法的中文介紹。 先上代碼: import random as rd data=[rd.randint(a=100,b=

原创 KNN (K Nearest Neighbor,K近鄰)算法的python實現

       機器學習中KNN是個最基本的分類方法之一。KNN的全稱是K Nearest Neighbor,意思很明顯:求K個最近的樣本。這裏需要說明的有兩點:1、這個近是通過距離來體現的,我們算距離的方法有很多,最常用的有:cos(餘弦

原创 python實現歸併排序

       堆排序和歸併排序以及快速排序是比較經典的排序方法。堆排序的時間複雜度是nlogn,歸併排序的時間複雜度可以達到O(n),快速排序的時間複雜度是nlogn。可見歸併排序的排序速度比較快,但是比較耗費內存,畢竟是通過遞歸的方式來

原创 百度2018年春招編程題第二題解析

      今年百度第二題相對簡單,有人用動態規劃做,但是用簡單的遞歸方式在幾分鐘之內就可以寫出答案,以下兩張圖片就是考試時候的圖片,是手機拍下來的,可能質量不太好。想必網上已經有相關的文檔了。      其實我們可以把它理解成一個多叉樹

原创 使用python實現的簡單二分類器—感知器

使用Python實現的簡單感知器程序如下: 程序運行結果如下:

原创 python藉助遞歸思想判斷當前黑棋着子時,黑棋是否勝出

python3實現遞歸與c是一樣的,無非就是某個函數自己調用自己而已。我寫了個可以隨時判斷黑白棋手五子棋博弈時,黑棋的某次着子是否會導致黑棋獲勝。第一步:採用遞歸的方式直接找到與當前着子位置有最鄰近並且已經被着黑子的位置,然後基於這些位置