七月演算法5月深度學習班課程筆記——no.2
1. 影象上的應用:可以根據,識別的內容,描述影象;模仿人的創造性生成畫作;相簿自動歸類等。
2. nlp上的應用:用rnn學習某作家的文筆風格進行寫作、學習**寫作等。下圖為rnn學習了200m的**量後自動生成的**片段,**的格式已經比較相似了。
3. 綜合應用:識別物體,再根據識別出來的物品組織成文字描述。
python基本型別、容器等基礎的語言知識,請移步:python基礎教程
numpy:矩陣運算
scipy:稀疏矩陣求距離。
科學計算庫的安裝與使用可以移步:python及科**算庫的安裝
影象識別的核心問題:乙個影象給計算機輸入的是乙個矩陣,每乙個畫素點上都是乙個rgb顏色值,根據矩陣去做影象識別,計算置信度。
難點:
1. 視角不同:每個事物旋轉或者側視最後的構圖都完全不同
2. 尺寸大小不統一:相同內容的也可大可小
3. 變形:很多東西處於特殊的情形下, 會有特殊的擺放和形狀
4. 光影等干擾/幻象重點內容
5. 背景干擾
6. 同類內的差異(比如椅子有靠椅/吧椅/餐椅/躺椅…)
影象識別的基本流程:
評估:就像我們上學學了東西要考試檢測一樣, 我們也得考考計算機學得如何, 於是我們給定一些計算機不知道
類別的讓它判別, 然後再比對我們已知的正確答案。
k最鄰近法(knn):k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。knn演算法的核心思想是如果乙個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。
knn做影象識別有一些缺點,比如準確度不高,因為找不到影象合適的特徵,而且knn需要記錄全部訓練資料。那麼可以試試線性分類器,用邏輯回歸或者linearsvm。
線性分類器會有乙個得分函式,比如cifar-10資料集,資料集裡有10個類別,每個影象的大小都是32x32,每個畫素點有rdb的值,所以總共有32x32x3=3072 個數,線性分類器就是把這些數作為輸入,即3072x1的向量,給定權重矩陣w[n*3072],n是要判定的類別的數量。通過矩陣相乘得到得分函式: f(
x,w)
=wx+
b 其中w是通過訓練得到的。那麼得到的得分高低就可以判定類別。
1. 空間劃分:wx+b是空間的點。
2. 模板匹配:w的每一行可以看做是其中乙個類別的模板。每類得分,實際上是畫素點和模板匹配度,模板匹配的方式是內積計算。
損失函式:由得分函式我們知道,給定w,可以由畫素對映到類目得分。損失函式用來評估w、b的好壞,衡量吻合度,可以通過調整引數/權重w, 使得對映的結果和實際類別吻合。有兩種損失函式:
一是hinge loss/支援向量機損失。
對於訓練集中的第i張資料xi
,在w下會有乙個得分結果向量f(
xi,w
) ,第j類的得分為我們記作f(
xi,w
)j,則在該樣本上的損失我們由下列公式計算得到: li
=∑j≠
yimax(0,
f(xi
,w)j
−f(x
i,w)
yi+δ
) 假如有貓、狗、船三個類別,得分函式計算某張的得分為f(
xi,w
)=[13
,−7,
11],而實際的結果是第一類yi
=0。假設δ=
10 ,用上面的公式把錯誤類別(j
≠yi)
都遍歷了一遍,則求值加和: li
=max
(0,−
7−13+
10)+m
ax(0
,11−13
+10)
計算得到狗的損失函式為0,船的損失函式為8,所以被判定為船的概率還是比較高的。所以
δ 可以看做乙個超引數,規定乙個警戒線用來平衡損失。
二是互熵損失(softmax分類器)。
對於訓練集中的第i張資料xi
,在w下會有乙個得分結果向量fy
i ,則損失函式記作: li
=−lo
g(ef
yi∑j
efj)
把得分求exp再做歸一化,計算損失。兩種損失函式得到的結果會有些區別,實際的求解過程比較如下:
knn分類器、用svm和softmax分類器做影象分類,詳見ipython。
python做科學計算
高效計算基礎與線性分類器
高效計算基礎與線性分類器 標籤 深度學習 線性分類器 2016 06 29 16 01 131人閱讀收藏 舉報 深度學習筆記 1 作者同類文章x 目錄 深度學習與應用 高效計算基礎 影象識別難點與knn 線性分類器 1 線性分類器 2 損失函式 實踐more 七月演算法5月深度學習班課程筆記 no....
3 線性分類器與非線性分類器的區別與優劣?
首先線性和非線性是針對模型引數和輸入特徵來講的 比如輸入x,模型y ax ax 2那麼就是非線性模型,如果輸入是x和x 2則模型是線性的。再看定義考慮二類的情形,所謂線性分類器即用乙個超平面將正負樣本分離開,表示式為 y wx 這裡是強調的是平面。而非線性的分類介面沒有這個限制,可以是曲面,多個超平...
線性分類器和非線性分類器
線性和非線性的區別 1.線性linear,指量與量之間按比例 成直線的關係,在數學上可以理解為一階導數為常數的函式 非線性non linear則指不按比例 不成直線的關係,一階導數不為常數。2.線性的可以認為是1次曲線,比如y ax b 即成一條直線 非線性的可以認為是2次以上的曲線,比如y ax ...