1. 程式人生 > >邏輯迴歸的通俗解釋 邏輯迴歸的定位

邏輯迴歸的通俗解釋 邏輯迴歸的定位

1 邏輯迴歸的定位

首先,邏輯迴歸是一種分類(Classification)演算法。比如說:

  • 給定一封郵件,判斷是不是垃圾郵件
  • 給出一個交易明細資料,判斷這個交易是否是欺詐交易
  • 給出一個腫瘤檢查的結果資料,判斷這個腫瘤是否為惡性腫瘤

邏輯迴歸是網際網路上最流行也是最有影響力的分類演算法,也是深度學習(Deep Learning)的基本組成單元。

2 先給出一個邏輯迴歸的例子

比如有下面一組資料:
一門考試之前學生的複習時間與這個學生最後是否Pass這門考試的資料


資料:學生複習時間與考試通過

通過這些資料,利用邏輯迴歸演算法進行模型訓練,可以得到最終的模型結果是這個樣子:


logistic equation

這樣,給出任何複習時間,就可以預測出是否通過的概率


模型應用

3 邏輯迴歸擬合函式:Sigmod函式(邏輯函式)

可以看到,邏輯迴歸最後的分類結果是0/1,因此,我們選擇Sigmod函式(貌似是一個專業術語)來擬合訓練資料。Sigmod函式的形式如下,它的x可以無限取值,但是y就在(0,1)之間


Sigmod函式


對於最簡單的,只有一個自變數(x)的二元分類(y=0/1)邏輯迴歸中,構造出來的擬合函式為


最簡單的邏輯迴歸擬合函式


所以,要得到最終的模型,就是根據樣本點,計算a和b的值.

在上一節的複習時間和考試的例子中,最終計算出引數a=1.5046,b=-4.0777,因此可以得到下面的擬合函式的影象:


模型的影象

4 模型引數的計算方法

Coursera上Stanford大學的機器學習課程是很好的入門課程(雖說入門,但是我學習起來還是特別的吃力),主講人Andrew Ng(吳恩達)原來是Google大腦的負責人,現在在百度負責百度大腦和深度學習,是業界最牛的人之一了。他的課程中詳細講解了在邏輯迴歸中如何來計算模型的引數,我把結論的一頁截圖放在下面:


Coursera上Stanford的機器學習課程截圖

其中,J就是進行擬合的成本函式:


Cost Function


看起來比較複雜,用我們上一節的例子來解釋:

  • m:代表給出的訓練樣本數,也就是20
  • h函式:其實代表的是我們的Sigmoid函式,把樣本的X值帶進去,就得到的是引數a,b的函式
  • y:就是樣本中實際的y,只有0,1兩個選擇

把樣本的資料都帶入,最後得到的就是引數a,b的一個方程,邏輯迴歸就是求出一個最好的a,b的值,使得這個成本函式J的值最小。
那麼,最終求解a和b就是一個純數學問題了,比如可以用最小二乘法和梯度下降法來求解,純數學的問題就不在這裡展開了

5 多分類邏輯迴歸

生活中不僅僅只有分成兩類的問題,還有分成多個類的問題,比如把郵件分成工作郵件、朋友郵件和垃圾郵件。
多分類的一般思想是:利用多次分成兩類,計算劃分到每一類的概率,取概率最大的。用郵件分類的例子來說就是:

  • 將郵件分成“工作/非工作郵件”,可以根據上文的演算法得出工作郵件的概率
  • 將郵件分成“朋友/非朋友郵件”,計算出朋友郵件的概率
  • 將郵件分成“垃圾/非垃圾郵件”,計算出垃圾郵件的概率

比較三個概率,取最大的那個概率,作為這個郵件的分類結果。

相關推薦

邏輯迴歸通俗解釋 邏輯迴歸定位

1 邏輯迴歸的定位 首先,邏輯迴歸是一種分類(Classification)演算法。比如說: 給定一封郵件,判斷是不是垃圾郵件給出一個交易明細資料,判斷這個交易是否是欺詐交易給出一個腫瘤檢查的結果資料,判斷這個腫瘤是否為惡性腫瘤 邏輯迴歸是網際網路上最流行也是最有影響力

通俗易懂--邏輯迴歸演算法講解(演算法+案例)

1.邏輯迴歸(Logistic Regression) GitHub地址(案例程式碼加資料) 1.1邏輯迴歸與線性迴歸的關係 邏輯迴歸是用來做分類演算法的,大家都熟悉線性迴歸,一般形式是Y=aX+b,y的取值範圍是[-∞, +∞],有這麼多取值,怎麼進行分類呢?不用擔心,偉大的數學家已經為我們找到了一個

Spark-MLlib的快速使用之六(迴歸分析之邏輯迴歸

(1)演算法描述 邏輯迴歸(Logistic Regression)是用於處理因變數為分類變數的迴歸問題,常見的是二分類或二項分佈問題,也可以處理多分類問題,它實際上是屬於一種分類方法 (2)測試資料 1 1:-0.222222 2:0.5 3:-0.762712 4:-0.833333

物理結構和邏輯結構更通俗解釋

什麼是資料儲存的物理結構呢? 如果把資料結構比作活生生的人,那麼物理結構就是人的血肉和骨骼,看得見,摸得 著,實實在在。例如我們剛剛學過的陣列和連結串列,都是記憶體中實實在在的儲存結構。 而在物質的人體之上,還存在著人的思想和精神,它們看不見、摸不著。看過電影 《阿凡達》 嗎?男主角的思想意識從一個

邏輯基礎(解釋 和評論)

差異 必要條件 類比 爭論 關鍵點 情況 是什麽 發生 不出 解釋型: 執果索因 ------當一件事出現,通過轉折的方式,來看這件事發生不同情況。解釋這種現象的矛盾。只是看似矛盾,有沖突。實際上不是矛盾。 關鍵點找出矛盾沖突點是什麽。

通俗理解線性迴歸(二)

題外話:在上一篇中聊了一下線性迴歸的一些概念和損失函式的形式,那這篇就接著上一篇的思路來聊聊線性迴歸的正規方程解。(如果你是小白,可以點進上一篇的傳送門看看,沒準能讓你對線性迴歸有個大概的認識) 3.怎樣計算出線性迴歸的解? 上一篇中的最後聊到了損失函式是個什麼鬼,看懂了的老鐵們

通俗易懂--嶺迴歸(L2)、lasso迴歸(L1)、ElasticNet講解(演算法+案例)

1.L2正則化(嶺迴歸) 1.1問題 想要理解什麼是正則化,首先我們先來了解上圖的方程式。當訓練的特徵和資料很少時,往往會造成欠擬合的情況,對應的是左邊的座標;而我們想要達到的目的往往是中間的座標,適當的特徵和資料用來訓練;但往往現實生活中影響結果的因素是很多的,也就是說會有很多個特徵值,所以訓練模型

通俗理解線性迴歸(Linear Regression)

線性迴歸, 最簡單的機器學習演算法, 當你看完這篇文章, 你就會發現, 線性迴歸是多麼的簡單. 首先, 什麼是線性迴歸. 簡單的說, 就是在座標系中有很多點, 線性迴歸的目的就是找到一條線使得這些點都在這條直線上或者直線的周圍, 這就是**線性迴歸(Linear Regression)**. 是不是有

新興概念通俗解釋

支持 一個 原理 ron 知乎 程序 麻煩 tro 速度 1.分布式和集群 分布式:一個業務分拆多個子業務,部署在不同的服務器上集群:同一個業務,部署在多個服務器上 --https://www.zhihu.com/question/20004877 小飯店原來只有一個

KMP算法的next[]數組通俗解釋

blog 失敗 spa 針對 一個 tool 等了 void 前綴 我們在一個母字符串中查找一個子字符串有很多方法。KMP是一種最常見的改進算法,它可以在匹配過程中失配的情況下,有效地多往後面跳幾個字符,加快匹配速度。 當然我們可以看到這個算法針對的是子串有對稱屬性,如果

何謂雲計算?雲計算通俗解釋

比喻 全世界 硬件 存儲 客戶 資料 發展 ear 谷歌 大家天天聽到媒體說雲計算,什麽阿裏雲、百度雲、騰訊雲等,到底什麽是雲計算呢?在遠程的數據中心裏,成千上萬臺電腦和服務器連接成一片電腦雲。因此,雲計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這麽強大的計算能力可以

雲計算通俗解釋,雲計算需要學什麽課程?

自己 層次 傳輸 空間 b數 以及 配置 基於 市場 雲計算是近兩年IT界最炙手可熱的概念,遠到歐美眾多IT巨頭,近到國內各家廠商,無不爭相宣揚自己的雲計算解決方案:從Amazon到360,隨處可見帶有雲計算字眼的應用。那麽究竟什麽是雲計算,雲計算和類似於我們這種普通的IT

運算符優先級 以及 && (邏輯與) 和||(邏輯或)的優先級:

對象創建 content ins 條件 邏輯或 style -a ID class 運算符優先級(從高到低列出) 運算符 描述 . [] () 字段訪問、數組下標、函數調用以及表達式分組 ++ -- - ~ ! delete new typeof void 一

小波變換(wavelet transform)的通俗解釋(一)

edi spa jpeg 疊加 空間 只知道 內容 信號分析 長度 小波變換 小波,一個神奇的波,可長可短可胖可瘦(伸縮平移),當去學習小波的時候,第一個首先要做的就是回顧傅立葉變換(又回來了,唉),因為他們都是頻率變換的方法,而傅立葉變換是最入門的,也是

雲計算通俗解釋,雲計算專業就業前景

徹底 資源池 存儲 超級 中心 進步 我們 特點 一個 雲計算時代,網絡就是一個超級大規模的計算機,它就像雲一樣無處不在,我們隨時在上面存儲資源。後臺有一個無所不在、巨大的存儲力量,像我們的大腦一樣幫助我們記憶,這是一件特別美好的事情。 信息化在全球已經有六七十年的歷史,從

什麽叫雲計算?雲計算通俗解釋

理解 2016年 自來水 月份 雲計 概念 域名 包括 是我 “擁抱雲計算,遇見下一個時代”。這是一句早在2016年10月份就流傳的一句話,現在已經過去了兩年,今天看來,雲計算仍然是這個時代最好的機遇。從雲計算概念被熟知,雲計算在中國已經快十年了讓我們一起去了解。 “雲計算

Python中 __init__的通俗解釋

定義類的時候,若是新增__init__方法,那麼在建立類的例項的時候,例項會自動呼叫這個方法,一般用來對例項的屬性進行初使化。 比如: class testClass:     def __init__(self, name, gender): //定義 __init__

EM演算法通俗解釋

前言   EM演算法大家應該都耳熟能詳了,不過很多關於演算法的介紹都有很多公式。當然嚴格的證明肯定少不了公式,不過推公式也是得建立在瞭解概念的基礎上是吧。所以本文就試圖以比較直觀的方式談下對EM演算法的理解,儘量不引入推導和證明,希望可以有助理解演算法的思路。 介紹   EM方法是專門為優化似然函式設計

7.線性迴歸之多元線性迴歸

概念: 當自變數有多個時,迴歸模型就變成了: 多元迴歸方程變為: 估計多元迴歸方程變為: 估計方法: 多元迴歸的求解比簡單線性迴歸複雜但是思路是相同的,運用最小二乘法進行相應的求解,這裡不再進行展開。 python實現的小例子: 問題:如故一

6.線性迴歸之簡單線性迴歸

起步 線性迴歸是利用數理統計和迴歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。與之前的分類問題(Classification )不一樣的是,分類問題的結果是離散型的;而回歸問題中的結果是數值型的。 描述資料的特徵 1.均值( mean ) 2.中位