Introduction:
在python中執行反射的效率是非常高的
反射定義:
透過字符串的形式,獲取或操作(增、刪、改、查) 物件(object) 中的成員(函數、屬性)
深度學習-tensorflow基礎-變量(Variable)
Introduction變量(Variable)也是一種op,是一種特殊的張量,能夠進行存儲持久化(權重、係數等),它的值就是張量,可被修改,預設被訓練
深度學習-tensorflow基礎-張量常用操作
生成固定值張量創建所有元素為零的張量
tf.zeros(shape,dtype=tf.float32,name=None)
此操作返回一個具dtype類型,形狀為shape和所有元素設置為零的張量
深度學習-tensorflow基礎-張量(tensor)
Introduction
tensorflow依賴的是numpy庫
在tensorflow中張量(tensor)其實與numpy的陣列是差不多的
深度學習-tensorflow基礎-圖(graph)、operation與tensor
Introduction
須把tensorflow當作一個全新的語言來看待,而非再是普通的python程序
整體就是tensor(張量;數據) + flow
機器學習-非監督學習- K-means
Introduction
非監督學習:dataset只有特徵值,沒有真實標籤(目標值)
PCA降維算是無監督學習的一種
把具有相近特徵的數據歸為一個類別,稱為聚類(物以類聚,人以群分)
聚類演算法又叫做無監督分類
聚類通常在分類之前進行,才進行分類(預測類別)
聚類演算法又稱為無監督分類
可用於降維(decomposistion)
可用於矢量量化(vector quantization)
將高維特徵壓縮到一列當中
再不改變特徵數目及樣本數目的情況下,壓縮數據上的信息量大小
用於壓縮圖像、聲音、視頻等非結構化數據
主要方法:k-means
將一組N個樣本的特徵矩陣X劃分為K個無交集的簇(cluster),直觀上來看是一組一組聚在一起的數據
在一個簇中的數據就認為是同一類,簇就是聚類的結果表現
簇中所有數據的均值$u_{ij}$通常稱為這個簇的質心(centroids)
K:把數據劃分成多少個類別
為kmeans演算法的核心
知道類別的個數則設定K值後fit
不知道類別的個數時,則K為超參數
機器學習-邏輯回歸(Logistic Regression)
Introduction
邏輯回歸是一種分類(classfication)演算法
一種廣泛使用於分類問題中的廣義回歸演算法
一種名為"回歸"的線性分類器
由線性回歸變化而來的
求解能夠讓模型對數據擬合程度最高的參數$w$的值
線性回歸(linear regression)的式子作為邏輯回歸的輸入
與linear regression一樣為一迭代演算法
存在cost function
不斷的迭代優化並更新權重$w$
通過引入聯繫函數(link function),將線性回歸方程$Z(x)$轉換為$g(z)$
令$g(z)$的值分布在 0-1 之間,而得到分類模型
當$g(z)$接近0時樣本的label為0; $g(z)$接近1時樣本的label為1
此聯繫函數就是Sigmoid函數
只適用於二元分類的場景,邏輯回歸是解決二分類問題的利器
sklearn的邏輯回歸也可以做多分類的問題
一對多(One-vs-rest;OvR)
把某種分類看作1,剩下的分類類型都為0
在sklearn中為"ovr"
多對多(Many-vs-Many;MvM)
把好幾個分類劃為1,剩下的分類類型劃為0
在sklearn中為"Multinominal"
配合L1, L2正則項使用
也能得出具體的概率值
對邏輯回歸中過擬合的控制,通過正則化來實現