發表文章

目前顯示的是 2017的文章

[ML筆記] Recurrent Neural Network (RNN) - Part I

圖片
ML Lecture 25: Recurrent Neural Network (Part I) 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=xCGidAeyS4M 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 首先來看一個問題:Slot Filling 我們要理解客戶講的一句話,必須把一些關鍵字詞抽取出來做分類 上述的話當中,要把關鍵字 Taipei 分類為 Destination, Nov. 2 nd 分類在 time of arraival 這個類別中 該怎麼做呢?

[ML筆記] Coursera 機器學習基石(上) Week4

圖片
Coursera 機器學習基石(上) Week4 筆記 本週探討 Machine Learning 的限制 首先來玩個小遊戲,根據上面六張圖片,找出一個規則,然後回得下面的圖片是 +1 還是 -1 如果根據對稱與否判斷,是的話就為 +1,就會判斷他是 +1 如果根據左上角是否是黑色的,是的話就為 -1 ,就會判斷他是 -1 無論我們回答哪一種答案,都有可能會被說是答錯了! 取決於評分者心裡想的規則是哪一套 由上例可知,如果我們遇到一個 “壞心的” 老師,來打分數,他 always 可以說我們答錯了! 這樣的問題 ML 無法處理 再看一個例子

[ML筆記] Coursera 機器學習基石(上) Week3

圖片
Coursera 機器學習基石(上) Week3 筆記 本週探討各種不同的機器學習問題  binary classification 是機器學習當中最基本的問題 binary classification:把東西分成兩類 例如 辨別是否為垃圾郵件,判斷是否核卡,判斷病人是否生病等

[ML筆記] Coursera 機器學習基石(上) Week2

圖片
Coursera 機器學習基石(上) Week2 筆記 使用機器學習來做是非題的問題 延續上次提到的信用卡同意評估系統 這次我們要探討 H 定義的內容

[ML筆記] Coursera 機器學習基石(上) Week1

圖片
Coursera 機器學習基石(上) Week1 筆記 機器學習適合用來解決什麼問題? 有 Pattern 但是 Pattern 過於複雜,不容易用 Rule based 解掉 有明確的問題目標 有 Data ! 以電影推薦系統來舉例說明 對於電影的屬性維度可能有,影片種類,出現哪些明星,影片片長等 根據 user 過去喜歡看的電影的特型,可以得到該 user 的喜愛特性分佈 針對一部電影的屬性做完分析後,可以使用 inner product 內積計算跟使用者的配對分數

[備忘] Image Data Process for Training Yolo

圖片
Image Data Process  資料夾內的圖片全部轉為 JPEG (on mac OS): sips -s format JPEG * 使用 finder 功能,修改檔案副檔名 使用 openCV 做 image resize: 說明:

[備忘] Mac OS 在 python 裡使用 OpenCV 方法

安裝 brew install opencv 詳情看這篇 https://www.learnopencv.com/install-opencv3-on-macos/ 我的 mac 同時裝了 python2.7 跟 3.6 所以在使用 opencv3 的時候根據不同 python 版本要在 .py 檔案最上方 import system path python3.6 import sys sys.path.append('/usr/local/lib/python3.6/site-packages') import cv2 python2.7 import sys sys.path.append('/usr/local/lib/python2.7/site-packages') import cv2 或是直接設定環境變數 python3.6 export PYTHONPATH=/usr/local/lib/python3.6/site-packages:$PYTHONPATH python2.7 export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

[ML筆記] Regression part 3 - Gradient Descent

圖片
ML Lecture 3: Gradient Descent 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=yKKNr-QKz2Q 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html Loss function L 是一個 function 的 function 目的是要找一組參數 讓這個 Loss function 越小越好

[ML筆記] Regression part 2 - Where does the error come from?

圖片
ML Lecture 2: Where does the error come from? 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=D_S6y0Jm6dQ 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html error from “bias”

[ML筆記] Regression part 1 - Case Study

圖片
ML Lecture 1: Regression - Case Study 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=fegAeph9UaA 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 回歸 ( Regression) 怎麼做呢? step1: 找一個 Model => 找一個 Function Set

[ML筆記] Why Deep ?

圖片
ML Lecture 11: Why Deep ? 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=XsC9byQkUH8 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 神經網路為什麼越深越好? 首先先做個實驗來探討: 一層,每層 2000個 neuron 得到的 Error rate 24.2% 兩層,每層 2000個 neuron 共有 4000 個參數,得到的結果 Error rate 20.4% 依此類推 … 使用七層時,每層 2000 個 neuron 共有 14000 個神經元,得到的結果 error rate 降為 17.2 % 這個結果很直觀,因為我們使用的參數越多, Model 就會越複雜,越能 match 我們的 data 那我們該如何比較很多層深的(Deep)架構跟胖的(Shallow)架構之間的準確率呢?

[ML筆記] Convolutional Neural Network (CNN)

圖片
ML Lecture 10: Convolutional Neural Network CNN 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=FrKWiRv254g 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 在 NN 架構中 每一個 Neural 都可視為一個簡單的 Classifier 如果有一張 100x100 大小的彩色圖片,每個 pixel 有 R,G,B 三個 Channel

[ML筆記] Tips for Training DNN

圖片
ML Lecture 9: Tips for Training DNN 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=xki61j7z-30 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 做 Deep Learning 的流程 step 1 定義 set of funcion step 2 定義 goodness of function step 3 挑選 best function → training 先檢查 training set 的 performance → 結果不錯的話 在檢查 testing set 的結果 → 結果不好 (overfitting) → 結果不錯 bingo ! Deep Learning 的方法要看的面向有兩個點:

[ML筆記] Backpropagation

圖片
ML Lecture 7: Backpropagation 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=ibJpTrp5mcE 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 在 Neural Network 裡面使用 Gradient Descent 更新上百萬個參數 對於上百萬維度的 Vector 如何有效地計算偏微分出來 這就是 Backpropagation 做的事情! 原理:會用到 Chain Rule,先來複習一下

[ML筆記] Introduction of Deep Learning

圖片
ML Lecture 6: Introduction of Deep Learning 本篇為台大電機系李宏毅老師 Machine Learning (2016) 課程筆記 上課影片: https://www.youtube.com/watch?v=Dr-WRlEFefw 課程網 (投影片出處): http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html Deep Learning 的發展史 Deep Learning 的三個步驟

docker ubuntu 16.04 Machine Learning 環境架設

Machine Learning 環境架設 首先先去 docker hub 找到 ubuntu 官方 repository https://hub.docker.com/_/ubuntu/ docker pull ubuntu docker run ubuntu:16.04 docker ps -a 看到這個 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d163eaf5caa3 ubuntu:16.04 "/bin/bash" 6 seconds ago Exited (0) 5 seconds ago brave_poincare 因為沒有指定 NAME 所以系統隨機給了一個名字 brave_poincare 啟動 container

[筆記] pandas 用法 (2) 讀寫檔 合併 concat merge 圖表

圖片
pandas 用法 (2) * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pandas 讀寫資料檔案 首先準備一個 student.csv 檔 裡面資料長這樣

[筆記] pandas 用法 (1) 基本功能 indexing 設值

pandas 用法 (1) * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pandas 跟 numpy 的使用情境: numpy 用來替代 python 當中的 list (陣列,矩陣) pandas 用來替代 python 當中的 dictionary (字典) pandas 基本功能 Pandas Series

[筆記] numpy 用法 (2) 索引 合併 分割 複製

numpy 筆記 (2) * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ numpy array 的 index (索引) 找出矩陣當中最大最小值所在的位置 index (索引值): argmin, argmax

設定 python 指令連結對應的版本解決 bash: python: command not found

設定 python 指令連結對應的版本 之前沒有設定 python 指令是哪個版本 所以要用 2.7 版的話要直接打 python2.7 太不方便了 # python bash: python: command not found # python2.7 Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 決定設定一下連結

[筆記] numpy 用法 (1) 宣告與基本運算

numpy 用法 (1) * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ 安裝: pip3 install numpy numpy array 基本用法 array宣告, dimension, shape, size

[筆記] python3 zip, repeat 與 multiprocess.Pool() 的搭配用法

使用 multiprocess.Pool() 做多參數傳遞的函式 當我想在多核心運算的 function 的傳入參數不只一個的時候,或是傳入參數比較複雜的時候,需要一些 iteration tool 來幫忙 zip 的功用 幫你把兩個 list 的參數一對一對應!

[筆記] python3 多執行緒與多核心平行計算

Multi-Thread 與 Multi-Process * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/ python threading 使用 添加thread, 檢視thread, 執行thread #coding=utf-8 import threading def thread_job () :

[筆記] python3 實用筆記

python3 實用筆記 * 本篇資料來源為莫煩 python: https://morvanzhou.github.io/ python 文件讀寫 w 讀 r 寫 a 附加 (append) my_file = open( 'myfile.txt' , 'w' ) my_file.write( "XD" ) my_file.close file = open( 'myfile.txt' , 'r' ) content = file.read() content_arr = file.readlines() // 以 array 方式逐行儲存 print(content) 目前這樣容易會忘了關檔,這時候用 with 是個不錯的選擇 python tuple & list a_tuple = ( 1 , 2 , 3 , 4 ) another_tuple = 2 , 4 , 6 , 8 , 10 a_list = [ 1 , 2 , 3 , 4 , 5 ] a_list.sort(reverse= True ) print(a_tuple) # (1, 2, 3, 4) print(another_tuple) # (2, 4, 6, 8, 10) print(a_list) # [5, 4, 3, 2, 1] python dictionary dic = { 'key1' : 1 , 'key2' : 2 , 'key3' : 3 , 4 : 'haha' } dic2 = { 'pear' :{ 1 : 3 , 3 : 'a' }, 'orange' : '2017' } # 沒有順序 print(dic) # {'key3': 3, 'key2': 2, 'key1': 1, 4: 'haha'} pri