感知器、logistic與svm 區別與聯絡
轉載自:這位博主
從感知器談起
對於典型的二分類問題,線性分類器的目的就是找一個超平面把正負兩類分開。對於這個超平面,我們可以用下面的式子來表示,
ωTx+b=0ωTx+b=0
感知器是最簡單的一種線性分類器。用f(x)表示分類函式,感知器可以如下來表示。
f(x)=sign(ωTx+b)f(x)=sign(ωTx+b)
感知器相當於一個階躍函式,如下圖所示,在0處有一個突變。
損失函式是分類器優化的目標函式,可以用來衡量分類錯誤的程度,損失函式值越小,代表分類器效能越好。感知器的損失函式為誤分類點的函式間隔之和,函式間隔可以理解為樣本與分類超平面的距離。誤分類點距離分類超平面越遠,則損失函式值越大。只有誤分類的點會影響損失函式的值。
L=−y(wTx+b)L=−y(wTx+b)
從感知器到logistic迴歸
感知器模型簡單直觀,但問題在於這個模型不夠光滑,比如如果對於一個新的樣本點我們計算出ω^T x+b=0.001,只比0大了一點點就會被分為正樣本。同時這個點在0處有一個階躍,導致這一點不連續,在數學上處理起來不方便。
那有沒有辦法讓 ωTx+bωTx+b 到y的對映變得更加光滑呢,人們發現logistic函式有著這樣的特性,輸入範圍是−∞→+∞,而值域光滑地分佈於0和1之間。於是就有了logistic迴歸,正樣本點分類的超平面距離越遠,ωTx+bωTx+b 越大,而logistic函式值則越接近於1。負樣本點分類的超平面距離越遠,ωTx+bωTx+b 越小,而logistic函式值則越接近於0。
Logistic迴歸的損失函式為logistic損失函式,當分類錯誤時,函式間隔越大,則損失函式值越大。當分類正確時,樣本點距離超平面越遠,則損失函式值越小。所有的樣本點分佈情況都會影響損失函式最後的值。
log(1+exp(−y(wTx+b)))log(1+exp(−y(wTx+b)))
從感知器到SVM
在感知器分類選分類超平面時,我們可以選擇很多個平面作為超平面,而選擇哪個超平面最好呢,我們可以選擇距離正樣本和負樣本最遠的超平面作為分類超平面,基於這種想法人們提出了SVM演算法。SVM的損失函式為合頁函式,當分類錯誤時,函式間隔越大,則損失函式值越大。當分類正確且樣本點距離超平面一定距離以上,則損失函式值為0。誤分類的點和與分類超平面距離較近的點會影響損失函式的值。
[1−y(wTx+b)]+[1−y(wTx+b)]+
感知器、logistic與SVM
三者都是線性分類器,而logistic和svm是由感知器發展改善而來的。區別在於三者的損失函式不同,後兩者的損失函式的目的都是增加對分類影響較大的資料點的權重,SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性對映,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的資料點的權重。下圖中紅色的曲線代表logistic迴歸的損失函式,綠色的線代表svm的損失函式。
相關文章
- define與typedef區別與聯絡
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- 同步與阻塞的區別與聯絡
- hive與hbase的聯絡與區別Hive
- onchange與onpropertychange的聯絡與區別!
- BS與CS的聯絡與區別
- JRE與JDK的區別與聯絡JDK
- Apache與Tomcat 區別聯絡ApacheTomcat
- Kafka與ActiveMQ的區別與聯絡詳解KafkaMQ
- 詳解Kafka與ActiveMQ的區別與聯絡!KafkaMQ
- B/S與C/S的聯絡與區別
- 關於HashSet與TreeSet的區別與聯絡
- Oracle FailSafe與rac的聯絡與區別OracleAI
- Android與Java ME的區別與聯絡AndroidJava
- COM與DCOM的區別與聯絡 (轉)
- Session和Cookie的聯絡與區別SessionCookie
- JDK,JRE,JVM區別與聯絡JDKJVM
- servlet/filter/listener/interceptor區別與聯絡ServletFilter
- CGI與Servlet的區別和聯絡Servlet
- Session和Cookie的區別與聯絡SessionCookie
- Oracle FailSafe與rac的聯絡與區別(zt)OracleAI
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- Linux和Ubuntu的區別與聯絡LinuxUbuntu
- [轉]Apache與Tomcat 區別及聯絡ApacheTomcat
- WebService REST RPC MQ區別與聯絡WebRESTRPCMQ
- connection session process的聯絡與區別Session
- COM/DCOM的區別與聯絡 (轉)
- ipv4與ipv6的聯絡與區別
- javaSE中的==和equals的聯絡與區別Java
- 程式和執行緒的區別與聯絡執行緒
- HDFS 塊和 Input Splits 的區別與聯絡
- NUMA,MPP和HADOOP的區別與聯絡Hadoop
- 並行和併發的區別與聯絡並行
- SYS,SYSTEM,DBA,SYSDBA,SYSOPER的區別與聯絡
- volatile和synchronized的區別與聯絡[轉]synchronized
- malloc free與new delete的區別和聯絡delete
- 陣列地址與指標之間的區別與聯絡陣列指標