原创 李宏毅《機器學習》課程筆記(作業一:線性迴歸和梯度下降)

最近學習了李宏毅的機器學習課程,按照視頻順序整理一下筆記,這份筆記只適合作爲複習回顧,不適合直接學習,因爲記錄的東西零碎且粗糙,只是看視頻時的收穫感想。   正則化regularization的目標是使得學出來的模型比較“平滑”,也就是說

原创 《雅舍談喫》讀書筆記

原始人喫東西用手抓,比不會用手抓的禽獸已經進步很多,而兩根筷子則等於是手指的伸展,比猿猴使用樹枝撥弄東西又進一步。 淮揚的菜能獨樹一幟,那是因爲當年鹽商集中在那一帶,窮奢極侈,烹飪自然跟着講究。豫菜也曾盛極一時,那是因爲河工人員缺肥,虛糜

原创 《海邊的卡夫卡》讀書筆記

“古時候,世界不是由男和女、而是由男男和男女和女女構成的。就是說,一個人用的是今天兩個人的材料。大家對此心滿意足,相安無事地生活。豈料,神用利刀將所有人一劈兩半,劈得利利索索。結果,世上只有男和女,爲了尋找本應有的另一半,人們開始左顧右盼

原创 《哲學家們都幹了些什麼》讀後感

  上帝既然知道亞當和夏娃會偷喫禁果,爲什麼一開始不去阻止他們? 奧古斯丁的解釋是,關鍵在於自由。上帝給了亞當和人類自由意志,所以也必須讓人類擁有作惡的可能。 更具體地說,上帝是善的,而上帝的善表現在上帝對人類的行爲要進行公正的賞罰。那麼

原创 Adam優化算法理解

Momentum是爲了對沖mini-batch帶來的抖動。 RMSprop是爲了對hyper-parameter進行歸一,均方根反向傳播(RMSProp)。 這兩個加起來就是Adam 看原始的RMSProp算法:  再看算法:其實就是M

原创 李宏毅《機器學習》課程筆記(作業七:模型壓縮)

有多種模型壓縮的方法。 第一個是網絡剪枝,因爲神經網絡往往是過度參數化,所以刪掉一部分網絡參數。先訓練好一個大的神經網絡,然後評估每個參數是否重要,評估方法其實就是看是否接近0。然後把不重要的東西移除。用新的網絡重新訓練一下,update

原创 李宏毅《機器學習》課程筆記(作業九:無監督學習)

Kmeans方法,先初始化K箇中心,每次都把每個元素歸類到最近的類,再更新中心,再更新分類。 HAC的方法,有點類似,把最近的pair取平均作爲新的data,然後搞成一個樹,再在樹上切一刀來分類,好處是不需要先決定K。 PCA有了新的的理

原创 李宏毅《機器學習》課程筆記(作業二:分類)

爲什麼不能直接用迴歸的方式來做分類的問題,因爲在迴歸裏面,可能同一類裏面的樣本點他們的feature差異很大,但是lable都是1,這就要求求出來的model兼顧所有的樣本點,那麼可能導致model性能較差。下圖表現的非常清晰。 在做分

原创 李宏毅《機器學習》課程筆記(作業十:異常偵測)

我們在test的時候,讓機器自動的知道這個東西跟訓練集裏的數據是類似的還是不類似的。 我們無法把異常的資料視爲一個類別,因爲異常的東西類型太多了,而且異常的資料太難收集到了。 可以在輸出類別的時候同時輸出一個信心分數,如果高於一個信心分數

原创 李宏毅《機器學習》課程筆記(作業三:反向傳播)

深度學習裏面的梯度下降中,在計算梯度的時候有兩個過程,分別是前向過程和反向過程,很容易理解。 然後在用sigmod作爲激活函數的時候,會出現梯度衰減的問題,導致第一層還只做了一點點梯度下降的時候最後一層已經訓練好了。爲了解決這個問題,2

原创 李宏毅《機器學習》課程筆記(作業四:RNN)

RNN和半監督學習需要後面補上。     word embedding是想做一個什麼事情呢,是希望把詞彙用一個比較短的向量表達出來,因爲通常的詞彙的表達是通過一個非常長的(詞典那麼長的)1-of-N向量來表達,這樣的表達沒有信息,我們希望

原创 李宏毅《機器學習》課程筆記(作業六:對抗攻擊)

爲了將機器學習在實際生活中應用上,需要考慮一些惡意攻擊。 無目標攻擊:攻擊的時候,固定模型參數,希望調整輸入數據,使得效果越差越好 有目標攻擊:不僅跟原來的答案越遠越好,而且要跟希望的錯誤答案越接近越好 限制是我們輸入的攻擊的數據跟正常的

原创 李宏毅《機器學習》課程筆記(作業五:可解釋的人工智能)

可解釋的人工智能有兩種方案,一種是局部的可解釋性,一種是全局的。 局部的方案的一種想法,把一個圖片用灰色的方塊蒙上一塊,看是否還能識別出來,這個時候要注意方塊的大小甚至顏色都可能有影響。 另一個想法是,把一個輸入feature做。一點點小

原创 李宏毅《機器學習》課程筆記(作業十一:GAN)

GAN包含辨別器和生成器,是一個對抗的關係,用adversarial。是無監督的學習方式。 可以將其看成老師和學生的關係。 注意辨別器和生成器是輪流訓練的,輸入是一個隨機的向量,最後的輸出是一個標量。訓練一個的時候把另外一個固定住不更新梯

原创 李宏毅《機器學習》課程筆記(作業八:seq2seq)

怎麼樣生成一個有結構的東西。可以用RNN依次產生序列的元素。 在智能對話等等場景中,是”有條件的生成“。核心的思路是用一個encoder把輸入變成一個vector,再用一個decoder輸入這個vector Attention就是一種動態