Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Tutorial / Deep Learning

Deep Learning

https://techcrunch.com/2018/06/01/how-instagram-feed-works fast.ai Course 如果你只有時間讀一篇簡介 Common Sense Baseline 文獻探討 CNN LeNet 5 Clustering Algorithms Needed to Know Kaggle Running Tensorflow Models

Build Your Own AlphaZero AI FeatureEngineering Continuous Numeric Data Categorical Data

How to Make a Simple Tensorflow Speech Recognizer TensorFlow 101, by Brian Sletten 17:00 python demo

Udemy: Introduction to Deep Learning using Keras Convnets Keras notebook Scanned Digits Recognition using k-Nearest Neighbor (k-NN)

  • Keras is a library in Python.
  • It is a library for building deep learning models. 
  • Keras runs on top of Theano and Tensor flow. 
  • Our focus is on building deep learning predictive models. 
  • Python is becoming the language of choice for applied predictive analytics. 
  • In machine learning a artificial neuron is an object modeled after a biological neuron. 
  • A group of artificial neurons is called a neural network. 
  • Rows are observations. 
  • Columns are features. 
  • That thing we are trying to predict is a target variable. 
  • The data we are going to use to build our model is called training data. 
  • A very simple neural network has inputs, a hidden layer and outputs. 
  • When we are working with machine learning models it's important to remember they speak numbers. 
  • A deep learning model is one with more than one hidden layer.

Text Classification with Machine Learning Sequence-to-Sequence Model

How Backpropagation Works and Use Python to Build a Neural Network

Machine Learning the GitHub API with Meeshkan

YOLO Object Detection code

GAN, Generative Adversarial Networks, Adversarial Training

蔡宗翰 CRF: Conditional Random Fields; SRL-Model: Semantic; PAS: Predicate Argument Structure; Precision Rate vs Recall Rate vs F1-measure

Dictionary Encoding: N1=張士誠 P1=高郵
Time Encoding: T1=乙未 Q1=一千萬
Decoding階段 再替代回去
Active Learning: 判斷不好的詞再用人力檢查 補回字典
Normalize Variation Branch Entropy (nVBE) 自刻工具
CRF Model 調參數
分群演算法: K-Mean 找出類似的詞句

Python 機器學習/影像辨識

1.下載及安裝Python軟體

在Mac上安裝完的Python Launcher

在Windows上安裝

使用pip install 套件名稱

安裝套件
pip install 套件名稱
解除安裝套件
pip uninstall 套件名稱
檢視目前系統已經安裝的套件
pip list
1-1下載及安裝PyCharm

安裝完Python後,設定直譯器路徑

Pycharm可以使用Python和Jupyter notebook的檔案

1-2在Pycharm新增函式庫

選取直譯器,選取+

選取函式庫,再install Package

2.Python直譯器與計算機

Mac電腦/usr/local/bin
Windows電腦C:\python36
set path=%path%;C:\python36
這是設定utf-8-*-編碼
#-*- coding: utf-8 -*- 
#是註解符號
輸入python執行
$ python
變數資料型態

整數
浮點數
字串
運算式是由運算子與運算元組成
+加-減*乘/除是運算子,先乘除後加減的結合優先順序
運算元是變數,數字,字串和資料結構
=是分配符號,將右邊的值分配給左邊變數
3.資料結構

變數
運算式與運算子
串列
堆疊
佇列
數組tuple,集合set和字典

可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple
集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set
集合加上索引就是字典{索引:值}

4.控制結構

布林運算式,布林值為True或False
在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。
While敘述的程序圖形中.選取結構和循序結構,都只執行程式敘述一次,如果我們要讓同一行程式重複執行好幾遍則要用迴圈敘述。
迴圈敘述可以重複執行某一段程式好幾遍,直到條件的不成立才跳出這個迴圈。
選取結構if
語法if:
if 條件運算式:
    程式敘述1
else:     
    程式敘述2
迴圈結構while,for
語法:
for  計數變數  in range(起始值,終始值):
程式敘述
邏輯運算子

邏輯運算子可以結合條件,以一個表達式判斷許多條件,而這些條件的結果不是真True就是假False。
and稱為”與邏輯運算子”,只有當所有條件都成立時才會回傳真True,否則回傳假False。
or稱為或邏輯運算子,只要運算式中一個條件成立就會回傳真True,只有當所有的條件都為假Fasle時,才會回傳假False。
not為相反邏輯運算子,真True的條件加上not相反邏輯運算子時,就會變成假False﹔當假False的條件加上not相反邏輯運算子時,就會變成真True。
一個選擇的if敘述

if 條件:
         敘述

巢狀的if敘述與多重選擇決策

在這個例子中有5個等級來做選擇,就叫做多重選擇。
語法:
if (條件1):
敘述1
elif (條件2):
敘述2
elif (條件3):
敘述3
elif (條件4):
敘述4
else (條件5):
敘述5
迴圈結構for

Python提供for敘述作為迴圈,除了迴圈主體敘述(statement),還有迴圈的條件結構。
迴圈結構while

在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。

5.函數
將多個複雜的程式區塊包在函數裡面,這樣在需要時,可以重複呼叫它.
遞迴函數是自己呼叫自己的函數,有最終值,開始回傳.
pass敘述沒做任何事
預設參數值
使用者自訂函數
區域變數的生存空間

函數的參數為區域變數.函數的參數生存空間只在函數的範圍內
在函數內定義的變數,其作用範圍在函數內


6.類別

成員屬性與成員方法

類別和實體變數

_init__(self,..)為建構函數,實體化物件時會呼叫它
self為自己這個物件
__init__(self)建構物件, __del__(self)解構物件


7.繼承

class 子類別(父類別1,父類別2,父類別3,..):       
      敘述1
      敘述2
當子類別繼承 (inheritance) 超過一個來源的時候,會以寫在最左邊的父類別優先繼承,多個父類別如果有相同名稱的屬性 (attribute) 與方法 (method) ,就會以最左邊的父類別優先。
多型:子類別和父類別有同名的getEngine()名稱

8.異常或錯誤處理
使用raise關鍵字丟出例外
開啟,關閉及寫入檔案
檔案處理
fp=open(‘檔案名稱’,’檔案開啟模式’)

9.使用matplotlib畫圖
Matplotlib.pyplot是畫圖的命令集合函數.每一個pyplot函數可以建立或修改圖形

10.Python 資料結構與畫圖簡介 
•數組tuple和集合set
•Scipy科學函數庫
•numpy模組建立矩陣
•Pandas資料結構
•Matplotlib畫圖

11.數組tuple和集合set和Scipy科學函數庫
可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple
集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set
Scipy模組提供科學運算及線性代數的運算模組

12.numpy模組建立矩陣
•numpy模組建立矩陣
•矩陣運算
•reshape()改變陣列的長寬
•np.zeros((10,3))產生10*3的矩陣

13.Pandas資料結構
使用pip install安裝pandas
Pandas讀取csv
讀取台灣加權股價指數csv檔,big5編碼
實作讀取台灣加權股價指數
Series序列資料
pandas的DataFrame
實作Pandas資料結構
資料選擇與篩選
lambda可調式參數

14.Matplotlib畫圖2
•Matplotlib畫圖
•plt.plot([1,2,3,4])預設是X軸
•# ‘r—'紅色虛線,'bs'藍色矩形,'g^'綠色三角形
•scatter()散點圖函數
•meshgrid()函數畫網格

15.分類與預測

資料採礦過程
分類與預測
決策樹 信用評等範例
監督式學習分類
天氣決策樹決定是否騎腳踏車
資訊熵Entropy

Information Gain資訊增益

ID3決策樹演算法

鳶尾花決策樹分類

隨機森林結合強學習

K-nearest最鄰近分類演算法KNN

16.Python 機器學習分群

分群分析
分群的應用
資料採礦對分群的需要
分群的依據
主要的分群方式
群聚演算法k-means
階層式分群
密度為基礎的分群方法
群聚演算法k-means

將資料庫的n個物件來建構K個群聚的分群
k-means:群聚的中心為基礎的分群
遞迴的尋找最小成本
設有k個群聚,0為第0次開始,每次加1,調整群聚中心
計算群聚成本最小化
階層式分群

階層式聚合式分群會從下面開始合併群聚,直到滿足停止條件為止.
計算所有樣本的距離矩陣
將每個樣本作為一個單一的集群
合併兩個最近的集群對
更新距離矩陣
重複上面步驟,直到群聚成兩個分群
密度為基礎的空間集群方法

DBSCAN演算法:
以密度為基礎的群聚,如果密度足夠,它就會被視為群聚的一部分,此時會考慮鄰居.如果它們也高密度,就將它們與第一個區域合併,否則決定了分群.
當這個程序掃描完所有區域後,就可確定所有群聚.
主要特徵:
發現任意形狀的群聚
可以處理雜訊
密度參數當作終止條件

17.基本機器學習演算法

線性迴歸
Logistic邏輯迴歸
單純貝氏分類器(Naive Bayes Classifiers)
其中P(A|B)是在B發生的情況下A發生的可能。

分群降維使用主成份分析PCA
主成分分析PCA是一種分析、簡化數據集的技術。PCA是使用矩陣投影方式將n維度樣本投影到m維度空間使用W轉換矩陣,其中m<