原创 機器學習總結(三):如何防止過擬合

通常過擬合由以下三種原因產生:1. 假設過於複雜;2. 數據存在很多噪音;3. 數據規模太小。 過擬合的解決方法通常有:1. early stopping;2. 數據集擴增;3. 正則化;4. Dropout。 Early st

原创 機器學習總結(六):K-means總結

K-Means是非常常見的聚類算法,思想簡單,易於實現,現在已經被廣泛應用到各種聚類任務當中。K-Means的基本思想是先初始化聚類中心,然後計算所有點到不同聚類中心的距離,重新計算聚類中心,反覆迭代,直到聚類中心沒有變化或者到達

原创 機器學習總結(二):梯度消失和梯度爆炸

神經網絡的訓練過程通常分爲兩個階段:前向傳播和反向傳播。 前向傳播如下圖所示,原理比較簡單 上一層的神經元與本層的神經元有連接,那麼本層的神經元的激活等於上一層神經元對應的權值進行加權和運算,最後通過一個非線性函數(激活函

原创 機器學習總結(一):常見的損失函數

這是博主的第一篇博客,mark一下,希望今後能夠堅持下去。 博主是機器學習菜鳥,將來希望從事機器學習的工作,最近在整理機器學習的知識點,將這些總結的文字以博客的形式展現出來,一是便於複習,二是分享出來希望能對別人會有一點點幫助。

原创 java知識點整理

一、String類 字符串存儲在內存的常量池中,若一個字符串在內存中已經存在,則不會重新開闢空間。 例如:String s1 = “abc”; String s2 = “abc”;String s3 = new String(

原创 機器學習總結(四):RF,SVM和NN的優缺點

1. 隨機森林優缺點 隨機森林(RF)是Bagging的一個擴展變體。RF在以決策樹爲基分類器進行集成的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。 Bagging就是對數據集訓練多個基分類器,然後將基分類器得到的結果進

原创 機器學習總結(五):Batch Normalization

Batch Normalization是深度學習領域在2015年非常熱門的一個算法,許多網絡應用該方法進行訓練,並且取得了非常好的效果。 衆所周知,深度學習是應用隨機梯度下降法對網絡進行訓練,儘管隨機梯度下降訓練神經網絡非常有效,

原创 Leetcode: sort-list

題目: Sort a linked list in O(n log n) time using constant space complexity. 分析: 在排序算法中,時間複雜度爲O(n log n)的算法有快速排序,歸併排序和堆

原创 TensorFlow學習筆記(三):深層神經網絡

一、深度學習與深層神經網絡 維基百科對深度學習的定義爲“一層通過多層非線性變換對高複雜性數據建模算法的合集”。實際上可以認爲深度學習就是深層神經網絡的代名詞。深度學習有兩個非常重要的特性,多層和非線性。 1. 線性模型的侷限性 線性模型的

原创 Leetcode:evaluate-reverse-polish-notation

題目描述: Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are+,-,*,/. Each op

原创 Leetcode: insertion-sort-list

題目: Sort a linked list using insertion sort. 分析: 題目要求用插入排序對一個鏈表進行排序,那麼思路就是構建一個新的鏈表,將原鏈表中符合大小條件的結點插入到新鏈表中。 具體代碼的實現如下:

原创 java排序算法整理(二)

一、交換排序 利用交換數據元素的位置進行排序的方法稱爲交換排序。常用的交換排序有冒泡排序法和快速排序法。 1. 冒泡排序 基本思想:設數組中a中存放了n個數據元素,循環進行n-1趟排序過程:第一趟時,依次比較相鄰的兩個數據元素,若爲逆序,

原创 TensorFlow學習筆記(二):實現神經網絡

使用神經網絡解決分類問題主要可以分爲4個步驟: 提取問題中的實體的特徵向量作爲神經網絡的輸入; 定義神經網絡的結構,並定義如何從神經網絡的輸入得到輸出。即前向傳播算法; 通過訓練數據來調整神經網絡中的參數取值; 使用訓練好的神經網絡來預

原创 Tensorflow學習筆記(一):基礎知識

博主準備開始學習Tensorflow,將自己學到的東西總結出來,既能夠加深記憶,並且便於複習,如果能夠幫助到別人那更是再好不過了。 隨着深度學習的快速發展,深度學習工具也有很多。主流的深度學習框架包括Tensorflow,Caffe,Th

原创 Leetcode: linked-list-cycle-ii

題目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Follow up: Can y