1. 程式人生 > >100天搞定機器學習|Day17-18 神奇的邏輯迴歸

100天搞定機器學習|Day17-18 神奇的邏輯迴歸

前情回顧

機器學習100天|Day1資料預處理
100天搞定機器學習|Day2簡單線性迴歸分析
100天搞定機器學習|Day3多元線性迴歸
100天搞定機器學習|Day4-6 邏輯迴歸
100天搞定機器學習|Day7 K-NN
100天搞定機器學習|Day8 邏輯迴歸的數學原理
100天搞定機器學習|Day9-12 支援向量機
100天搞定機器學習|Day11 實現KNN
100天搞定機器學習|Day13-14 SVM的實現
100天搞定機器學習|Day15 樸素貝葉斯
Day17,Avik-Jain開始在Coursera深度學習的專業課程,完成第1周和第2周內容以及學習課程中的邏輯迴歸、神經網路,並用Python實現一個神經網路。

Day4-6我們已經學習過邏輯迴歸模型。

100天搞定機器學習|Day4-6 邏輯迴歸

但是當時並沒有擴充套件性的深入探討,畢竟這個模型十分簡單易懂。其實模型之間是有關聯的,比如Logistic Regression引出SVM迴歸模型。

首先,我們再回歸一下Logistic Regression

邏輯迴歸進行分類的主要思想是:根據現有資料對分類邊界線建立迴歸公式,以此進行分類。我們想要的函式應該是,能接受所有的輸入然後預測出類別。例如,對於而分類問題,該函式應該返回0或1。

邏輯迴歸假設函式如下

它對θTX作了一個函式g變換,對映至0到1的範圍之內,而函式g稱為sigmoid function或者logistic function,函式影象如下圖所示。

邏輯迴歸是用來得到樣本屬於某個分類的概率,當輸入z等於0時,Sigmoid函式值為0.5。隨著z的增大,對應的函式值趨近於1;隨著z的減小,對應的函式值趨近於0。 

然後,我們通過邏輯迴歸引出SVM

我們發現hθ(x)只與θTX有關,θTX>0,則hθ(x)>0.5.g(z)只不過是用來對映,真實的類別決定權還在θTX。模型達到的目標無非就是讓訓練資料中y=1的特徵θTX>>0,而是y=0的特徵θTX<<0。Logistic迴歸就是要學習得到θ,使得正例的特徵遠大於0,負例的特徵遠小於0,強調在全部訓練例項上達到這個目標。

上圖中間那條線是θTX=0,logistic回顧強調所有點儘可能地遠離中間那條線,學習出的結果也就中間那條線。這樣我們可以得出結論,我們更應該關心靠近中間分割線的點,讓他們儘可能地遠離中間線,而不是在所有點上達到最優。

然後,看看邏輯迴歸的代價函式

當y=1時,並將z=θTx帶入其中, 損失函式影象進行少量修改就能得到SVM損失函式影象,取z=1的點作為分界點畫一條和邏輯迴歸很接近的線性影象得到上圖中玫紅色的直線,稱其為Cost1(z)。 y=0,類似地得到Cost0(z)。

從 邏輯迴歸 處修改後得到的基本公式為:

因為人們在使用邏輯迴歸和支援向量機時遵循的規則不同,有些地方還需要修改 ,在上述式子中的損失部分和正則化部分都去掉 1/m 項

在邏輯迴歸中使用λ來平衡樣本的損失函式項和正則化項,而在SVM中,使用C來平衡.

最終的SVM的表示式:

在這裡,當最小化代價函式,獲得引數 θ 時,支援向量機所做的是它來直接預測 y 的值等於 1,還是等於 0。所以學習引數 θ 就是支援向量機假設函式的形式。 

另:詳細過程建議大家觀看吳恩達課程原版機器學習公開課

https://www.coursera.org/course/ml 

--------------迴歸正題分割線--------------

神經網路又與邏輯迴歸什麼關係呢?先說結論:

邏輯迴歸是沒有隱藏層的神經網路

邏輯迴歸引出神經網路的過程,我認為李巨集毅的機器學習課程最為巧妙。

首先Logistic迴歸是有侷限性的,對於線性不可分的資料沒有辦法分類。

比如上面這種情況,就沒有辦法使用一條直線進行分類。

一個解決方法是可以通過轉換特徵空間方法解決異或問題,線性不可分的資料在特徵轉化後可以很好地被紅色直線區分開。 但是不能總是通過依賴手工的方法來找到一個好的轉換,這就違背了機器學習的本質。

so,Logistic迴歸可以看做是兩層神經元,啟用函式是Sigmoid函式的神經網路。左邊兩個Sigmoid函式作用是特徵轉換,右邊作用是分類。

Logistic迴歸連線在一起就是深度學習的基本結構。

相關推薦

100機器學習|Day17-18 神奇邏輯迴歸

前情回顧 機器學習100天|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9

100機器學習|Day3多元線性迴歸

前情回顧 第二天100天搞定機器學習|Day2簡單線性迴歸分析,我們學習了簡單線性迴歸分析,這個模型非常簡單,很容易理解。實現方

100機器學習|Day4-6 邏輯迴歸

邏輯迴歸avik-jain介紹的不是特別詳細,下面再嘮叨一遍這個演算法。 1.模型 在分類問題中,比如判斷郵件是否為垃圾郵件,判斷

100機器學習|Day15 樸素貝葉斯

Day15,開始學習樸素貝葉斯,先了解一下貝爺,以示敬意。 托馬斯·貝葉斯 (Thomas Bayes),英國神學家、數學家、數理統計學家和哲學家,1702年出生於英國倫敦,做過神甫;1742年成為英國皇家學會會員;1763年4月7日逝世。貝葉斯曾是對概率論與統計的早期發展有重大影響的兩位(貝葉斯和布萊斯·帕

100機器學習|Day23-25 決策樹及Python實現

演算法部分不再細講,之前發過很多: 【算法系列】決策樹 決策樹(Decision Tree)ID3演算法 決策樹(Decision Tree)C4.5演算法 決策樹(Decision Tree)CART演算法 ID3、C4.5、CART三種決策樹的區別 實驗: 匯入需要用到的python庫 import

100機器學習|Day 30-32 微積分的本質

3blue1brown系列課程,精美的動畫,配上生動的講解,非常適合幫助建立數學的形象思維,非常值得反覆觀看: http://www.3blue1brown.com/ 嗶哩嗶哩: https://space.bilibili.com/88461692 作者還把製作視訊的用到的程式碼放到了 github

100機器學習|Day33-34 隨機森林

前情回顧 機器學習100天|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9

100機器學習|Day35 深度學習之神經網路的結構

100天搞定機器學習|Day1資料預處理 100天搞定機器學習|Day2簡單線性迴歸分析 100天搞定機器學習|Day3多元線性迴歸 100天搞定機器學習|Day4-6 邏輯迴歸 100天搞定機器學習|Day7 K-NN 100天搞定機器學習|Day8 邏輯迴歸的數學原理 100天搞定機器學習|Day9-12

100機器學習|Day36用有趣的方式解釋梯度下降演算法

本文為3Blue1Brown神經網路課程講解第二部分《Gradient descent, how neural networks learn 》的學習筆記,觀看地址:www.bilibili.com/video/av16144388前文我們已經搭建了一個包含兩個隱藏層的神經網路,我們需要這樣一種演算法:網路得

100機器學習|day37 無公式理解反向傳播演算法之精髓

 100天搞定機器學習(Day1-34) 100天搞定機器學習|Day35 深度學習之神經網路的結構 100天搞定機器學習|Day36 深度學習之梯度下降演算法 本篇為100天搞定機器學習之第37天,亦為3Blue1Brown《深度學習之反向傳播演算法》學習筆記。 上集提到我們

100機器學習|day38 反向傳播演算法推導

往期回顧 100天搞定機器學習|(Day1-36) 100天搞定機器學習|Day37無公式理解反向傳播演算法之精髓 上集我們學習了反向傳播演算法的原理,今天我們深入講解其中的微積分理論,展示在機器學習中,怎麼理解鏈式法則。 我們從一個最簡單的網路講起,每層只有一個神經元,圖上這個網路就是由三個權重

100機器學習|day39 Tensorflow Keras手寫數字識別

提示:建議先看day36-38的內容 TensorFlow™ 是一個採用資料流圖(data flow graphs),用於數值計算的開源軟體庫。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯絡的多維資料陣列,即張量(tensor)。它靈活的架構讓你可以在多種平臺上展開計算,

100機器學習|day40-42 Tensorflow Keras識別貓狗

100天搞定機器學習|1-38天 100天搞定機器學習|day39 Tensorflow Keras手寫數字識別 前文我們用keras的Sequential 模型實現mnist手寫數字識別,準確率0.9713。今天我們完成day40-42的課程,實現貓、狗的識別。 本文資料集下載地址 https://down

100機器學習|day43 幾張GIF理解K-均值聚類原理

前文推薦 如何正確使用「K均值聚類」? KMeans演算法是典型的基於距離的聚類演算法,採用距離作為相似性的評價指標,即認為兩個物件的距離越近,其相似度就越大。該演算法認為簇是由距離靠近的物件組成的,因此把得到緊湊且獨立的簇作為最終目標。 K個初始聚類中心點的選取對聚類結果具有較大的影響,因為在該演算法第一步

100機器學習|Day56 隨機森林工作原理及調參實戰(信用卡欺詐預測)

本文是對100天搞定機器學習|Day33-34 隨機森林的補充 前文對隨機森林的概念、工作原理、使用方法做了簡單介紹,並提供了分類和迴歸的例項。 本期我們重點講一下: 1、整合學習、Bagging和隨機森林概念及相互關係 2、隨機森林引數解釋及設定建議 3、隨機森林模型調參實戰 4、隨機森林模型優缺點總結 整

從0到1 | 0基礎/轉行如何用3個月機器學習

寫這篇文章的初衷是現在好多朋友都想了解如何入門/轉行機器學習,搭上人工智慧這列二十一世紀的快車。再加上這個問題每隔一陣子就會有人提及,因此想寫篇文章來個一勞永逸。 文章的宗旨: 指出學習中的一些誤區 提供客觀可行的學習表 給出進階學習的建議 目標讀者是: 零基礎,對人工智慧感興趣的讀者 有基

機器學習PPT筆記-1

Introduction of Deep Learning some introductions Machine Learning is close to Looking for a Function The model is a set of fun

【原】Andrew Ng斯坦福機器學習 Programming Exercise 2——邏輯迴歸

作業說明   Exercise 2,Week 3,使用Octave實現邏輯迴歸模型。資料集  ex2data1.txt ,ex2data2.txt   實現 Sigmoid 、代價函式計算Computing Cost 和 梯度下降Gradient Descent。   檔案清單

機器學習(四)邏輯迴歸模型訓練

本篇不講演算法 只講用Python (pandas, matplotlib, numpy, sklearn) 進行訓練的一些要點 1.合併index np.concatenate([index1,index2]) 2.from sklearn.cross_va

機器學習(一)邏輯迴歸與softmax迴歸及程式碼示例

本文適合已經對機器學習、人工智慧有過一定了解,但是還沒有自己寫過程式碼,或者一直在使用現有框架的同學。不用框架自己寫一次程式碼的過程還是很有必要的,能讓你真正地理解原理與機器學習中各個步驟的實現過程,而不是停留在“好像懂了”、只會調庫的階段。 目錄