Introduction
通常我們會使用標準化(standardization)的方式來提升準確率
可參考http://www.taroballz.com/2018/07/05/ML_FeaturePreProcessing/
Tensorflow2-tensorflow-keras
Introduction of keras
keras是基於python的高級神經網路的API
其必須要有後端才可以運行
支持Tensorflow、CNTK、Theano為後端運行
後端是可以切換的,現在多用Tensorflow
因其圖像化功能優異,極方便於快速實驗
幫助用戶以最少的時間驗證自己的想法
Golang-select語句
初識
select是golang中一種控制結構
可透過select語句監聽在channel上的數據流動狀態
類似於switch語句,但是select會隨機執行任何一個可運行的case
沒有case可運行時,則阻塞;直到有case可運行
Golang多線程-線程同步(sync)包-WaitGroup
WaitGroup
其位於較低級的同步包sync
WaitGroup為一個結構體;其實例化的用途為等待一組goroutine的集合 完成工作
WaitGroup中都有一個counter(計數器)用來記錄等待goroutine的數量
深度學習-tensorflow基礎-讀取數據-API應用-二進制文件讀取
Introduction
圖片也算是一種二進制文件格式
將進行CIFAR-10二進制數據讀取
https://www.cs.toronto.edu/~kriz/cifar.html
全部共60000萬張圖片,每張圖片為32x32彩色圖像所組成
50000個訓練集及10000個測試集
五個訓練批次(data_batch_1.bin, data_batch_2.bin…)
一個測試批次(test_batch.bin)
其有10個類別(飛機、汽車、鳥…等)的圖片
每個類別共6000個圖片
文件中的格式都是第1個像素為標籤(0~9) 剩下的 3072 (3*32*32)像素為特徵
前1024像素為red_channel, 下1024像素為green_channel, 最後1024像素為blue_channel
機器學習-邏輯回歸的特徵工程
Introduction
在進行邏輯回歸模型訓練時,通常需要對數據進行降維
在高維(>1000個)特徵情況下,可先使用特徵選擇的演算法幫助我們篩選特徵,在根據自己相關的業務常識選擇更為相關的特徵
在邏輯回歸中,一般不使用PCA和SVD的降維演算法
會抹滅特徵的可解釋性
降維後會無法解釋特徵與Label的關係
在不需探究特徵與標籤之間關係的線性數據上,仍可使用
著重於對測試樣本進行分類時,可使用
在邏輯回歸中,前幾章提到的特徵選擇方法都可以使用
機器學習-特徵工程-細談特徵降維
Introduction
sklearn中的降維演算法都被包括在模塊decomposition中
decomposition模塊為一個矩陣分解模塊
SVD和主成分分析PCA都屬於矩陣分解算法中的入門算法,通過分解特徵矩陣來進行降維
降維(矩陣分解)的過程中追求既減少特徵的數量,又保留大量有效信息的 新特徵矩陣
將帶有重複信息(特徵與特徵之間有線性相關)的特徵合併
刪除無效信息(noise)的特徵
如果一個特徵的方差(Variance)很大,則可以說明這個特徵帶有大量信息
兩種主要的降維方法;其矩陣分解的方法不同,信息量衡量指標不同,但都涉及大量矩陣運算
主成分分析(PCA)
奇異值分解(SVD)
通常在能進行PCA降維的情況下,不會進行特徵選擇
無法使用PCA降維的情況下才會做特徵選擇