# 1/6、1/13 機器學習課堂隨筆 ###### tags: `note` `random` ## 影像應用 ### Classification bunny :rabbit: * Focused * 人臉辨識 * 醫學影像分析 ### Object Detection duck :duck: duck :duck: bunny :rabbit: * 框框 :black_square_button: * 街景:行人痾那個scooter、那個BUS * Stuff in training data * :car: = car :bus: = bus * supervised learning * 腫瘤氣到擴散便士 :toilet: ### Segmentation * Also know as Sementic Segmentation 語意分割 * Whatcha doin'? * Whatthe duck doin'? :duck: * 物件輪廓分割 * 把輪廓給哐哐哐哐 * 預測結果評分:涵蓋率 * 涵蓋率有容忍值->準確率降低 ### Computer Vision * 影像處理 * 前處理 * 二質化 我不會幹我本來要打我不會 這個我講不出來 鍾雅歷史 詫異 我不懂 我好詫異 哇嗚 區塊鏈 資訊技術 彼特幣 套利 挑選演講的時候 要挑中央大學資工博士 唯一支持 沾光 :bulb: 要挑牛肉麵 :nerd_face: : I'm a nerd 不要只看分數 要看容忍值 :angry: 標準拉高 準確率降低ㄛ 有變異性ㄛ 三千之一 你跑了幾次 哇你重複好多次 哇你什麼都沒寫 哇這個共筆要整理很久 英文能力ㄛ汪汪 我玩了 完了中文也不好 台灣碩士生: :accept: AC欸 :) Beee YEah ## 人工智慧發展 ### 起源 Alan Turing turing machine * General AI * 實現廣義人工智慧(General AI) 做到人的功能 * 硬體哭哭 IMPOSSIBLE * 1965 Dartmouth Summer Research Project on Artificial Intelligence * ***累人***的東西 類人的東西 我電腦隨時會沒電ㄉ(漆趴) 園藝亭黴有衝電線 析加加 工作站發熱很可不 :fire: :fire_engine: :snowflake: ### 單層神經元 A Layer Neurons * Frank Rosenblatt * 模仿人類神經元 * 對你連AI都不如 * 全是錯誤 * 詮釋錯誤 * 輸入->杰點->隱藏層->算誠哪一個點的機率式最高的 * 怎麼變 :skull_and_crossbones: * input * 單層神經元可以處理多種可能的輸出 結果取決最大值 ### 狹義人工智慧 * 1980 像人一樣的AI完全沒有頭緒 * 計算機能力進步 * 研究面項轉為 -> 解決具體任務 * 在特定任務上 -> 人類的能力 * 大量資料集 + 特定演算法 ->> 訓練特定任務 * 機器學習 :boom: 蔡教授很久之前的碩論 一謬還很先進 他沒用過 設計特徵看關鍵字 判斷是否為垃圾郵件->機器學習 有一隻汪汪 轉成輸入節點 汪汪汪 好黴關c ### 深度學習 * 2006 GPU出現 他有平行運算能力ㄟ * 大量矩陣的網路 CPU太慢囉 不知道要多久欸 * 那我們把GPU拿來用 速度快好多ㄛ * 層數越來越多 更複雜 * 特徵設計與擷取改交由機器自行學習 -> 處理更複雜任務 * CPU vs.GPU * CPU 早期用於機器學習 * GPU 使深度學習快速發展 * 平行運算能力 * 更多層數の神經網路模型 * 特徵設計與擷取:人為->機器自行學習 * 方程式<變數 * 變數浮動性小 * 資料與層數正相關 * 資料太多 層數太少 哇浪費 #### 人工智慧 > 機器學習 > 深度學習 機器可以幫人做事就是AI 其實就是 有 規則 巴拉巴拉 Rule Based 集合欸 ### 傳統機器學習 * 輸入人工設計的特徵 * 特徵能代表圖片 有助於要解決的任務 * 提供資訊給模型學習每個特徵的權重 心臟是否肥大 是否有心室 有嗎 你有嗎 有兩個 葡萄跟............................葡萄。好欸 #### Regression problem => 預測結果為**有連續性關係**的函數 * Step 1. Set a model: Linear Model 用 一個向量 兩個向量 好多向量 表示一個東西 一個特徵對應到一個權重 兩個維度相等ㄛ 才可以作內積運算 權重對於回歸的影響 > 眼睛很重要 *y = b + w · x y:輸出結果 x:輸入資料 b:偏移量 bias w:權重 weight dot 是內積不是乘號歐 <3 我需要有個偏移值(基本人權) * Step 2. Evaluate the goodness of a model Real Data vs. Prediction 誤差值平方加總 不平方會有正有負然後就 啪 沒了 哇沒有誤差 他為啥麼不用開根號 因為牙齒會斷掉 => Loss Function. Yes. Very important. 損失函數歐 => 找到一組最好的w跟b使總誤差值最小 * Step 3. Find the best one. 總誤差有個名字叫做Loss 請讓他最小化 謝謝 Like. How? 非暴力啦 乾弟 印度人 告報 Use Gradient Descent man. 梯度下降法歐 請看鞋率 右邊比較大就往左 左邊比較大就往右走 Try try try. Repeat until slope = 0 Learning Rate 學習率 決定你一次要走多少 蹦蹦蹦你也可以跑去那裡 如果衝過頭怎麼辦呢 噴噴噴 嘖嘖嘖 過猶不及 黑哩咖ㄆㄊ 飛太遠 然後你就會掉入低谷 哇好棒 但如果你有很多山坡你就會錯過 你看旁邊那個谷更低歐 一直猜一直猜一直猜 有一點點誤差就算了反正你也不是準的 數學系是虛幻的 我們比較Practical 實際.你懂? 資工系的浪漫 * learning rate * 斜率大->修大 * 別人已經勸玩了一個禮拜你還在勸 * 斜率小->修小 * 你衝過頭 * 卡住 * 區域最小值 觀念是很重要的 :) 跑跑跑 加更多節 更多 MORE 結構改變 model = 得到一個值叫歪 洗格馬 :horse: #### Fully Connected Feedforward Network (FCFN) 缺點:需要很大量的參數 大量計算資源 Machine Learning vs. Deep Learning Convolutional Neural Network (CNN) Two Steps. Repeats many times. Step1. Dot Product (點積) 同樣的維度對乘 然後加起來 Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) Step1. Dot Product (點積) Step2. Stride (平移) delay(1000000000000000000000) 不見得每個鳥嘴都是那麼正啊 這兩個地方是有鳥嘴的 :bird: FCFN缺點: * 需要大量 * 資料消耗 Convolutional Neural Network 卷積層, 池畫曾 全連接曾 Pooling 池化 抽樣 => 降低大小 Subsampling the pixels -> same results * Max Pooling (Used the most) 取最大值 * Average Pooling 取平均 => 顯著性不見 #### Convolutional Neural Network Input-> C -> MaxP -> ![](https://i.imgur.com/HOMUlNu.png) ![](https://i.imgur.com/cLXnZje.png) Filter由Kernel構成 用Filter去掃圖片 patterns are much smaller than the whole image 霧薩薩 Kernal值是training的時候學出來的 什麼是Stride Convolution Layer 捲積層 => 偵測出不同位置的相同特徵 Pooling Layer 池化層 => 縮小圖片 加速運算 Flatten 平坦化 => 平成一維向量 Fully Connected Layer 全連階層 => 分類 #### Activation funtion 激活函數 #### Classification problem =>非連續性關係,預測區域的邊界 => 離散結果 #### Clustering problem => 依照資料特徵自行將資料分組 不錯就是不錯:) 他對著內基為校 電腦風扇呼嚕呼嚕 真的很奇葩 怕跟學長姐講話 AC欸 桌機CPU在那邊學習 不要社恐謝謝 我也想要有學姊愛 我想這個時間差不多了 葡萄 汪汪 What the dog doin 明天一樣只有一節課ㄚ 我也可以繼續講 好欸 哐啷哐啷 汪汪欸!