高效計算基礎與線性分類器

2021-07-13 22:55:22 字數 2718 閱讀 3929

七月演算法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 ...