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

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 多分類邏輯回歸

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

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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習08機器學習系統設計

首先要做什么 一個垃圾郵件分類器算法為例: 為了解決這樣一個問題,首先要做的決定是如何選擇并表達特征向量 x。 可以選擇一個由 100 個最常出現在垃圾郵件中的詞所構成的列表,根據這些詞是否有在郵件中 出現,來獲得我們的特…

數學筆記1——導數1(導數的基本概念)

什么是導數導數是高數中的重要概念,被應用于多種學科。從物理意義上講,導數就是求解變化率的問題;從幾何意義上講,導數就是求函數在某一點上的切線的斜率。我們熟知的速度公式:v s/t,這求解的是平均速度&a…

python接口自動化(四)--接口測試工具介紹(詳解)

簡介 “工欲善其事必先利其器”,通過前邊幾篇文章的介紹,大家大致對接口有了進一步的認識。那么接下來讓我們看看接口測試的工具有哪些。 目前,市場上有很多支持接口測試的工具。利用工具進行接口測試,能夠提供測試效率。例如&…

機器學習09支持向量機

支持向量機(Support Vector Machines) 在監督學習中,許多學習算法的性能都非常類似,因此,重要的不是你該選擇使用學習算法 A 還是學習算法 B,而更重要的是, 應用這些算法時,所創建的大量數據在應用這些算…

數學筆記2

數學筆記2——導數2(求導法則和高階導數)和、差、積、商求導法則設uu(x),vv(x)都可導,則:(Cu)’ Cu’, C是常數(u v)’ u’ v’(uv)’ u’ v’(u/v)’ (u’v – uv’) / v21、2不解釋,下面給出3、4的推導過程乘法法則的推導過乘法法則…

機器學習10聚類

無監督學習 在非監督學習中,我們需要將一系列無標簽的訓練數據,輸入到一個算法中, 然后讓它找這個數據的內在結構。 我們可能需要某種算法幫助我們尋找一種結構。圖上的數據看起來可以分成兩個分開的點集(稱為簇)&am…

python 的筆記

語言:Python IDE:Python.IDE 需求 做出彩虹效果 顏色空間 RGB模型:光的三原色,共同決定色相 HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相 需要將HSB模型轉換為RGB模型 代碼示例&am…

關聯分析(Association analysis)

關聯分析(Association analysis) 簡介 大量數據中隱藏的關系可以以‘關聯規則’和‘頻繁項集’的形式表示。rules:{Diapers}–>{Beer}說明兩者之間有很強的關系,購買Diapers的消費者通常會購買Beer。 除…

機器學習11主成分分析

降維(Dimensionality Reduction) : 一、 降維目的: 目的一:數據壓縮(Data Compression) 目的二:數據可視化(Visualization) 二、 主成分分析(PCA) 主成分…

使用Apriori進行關聯分析(一)

使用Apriori進行關聯分析(一)大型超市有海量交易數據,我們可以通過聚類算法尋找購買相似物品的人群,從而為特定人群提供更具個性化的服務。但是對于超市來講,更有價值的是如何找出商品的隱藏關聯,從而打包促…

主成分分析法 (PCA) 用于數據可視化實驗 -- Matlab版

第一步:下載數據集。 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#pendigits 第二步:改變數據格式。 注:此數據集的各特征值均為像素,即屬于同一量綱,故無需歸一化步驟。 原格式為&a…

后端視角下的前端框架之Vue.js初探

背景 作為常年搞后端的自己來說,除了多年前學習的一點關于HTML的皮毛,對現在的前端技術棧可謂是一竅不通。但是因為最近在做的內部業務全鏈路監控系統,負責前端的同事做到一半去搞別的項目了,為了把項目落地不得不硬著頭皮學一下前…

機器學習12推薦系統

推薦系統(Recommender Systems) 推薦系統根據瀏覽用戶過去買過什么書,或過去評價過什么電影來判斷并推薦新產品給用戶。 這些系統會為像亞馬遜和網飛這樣的公司帶來很大一部分收入。 因此,對推薦系統性能的改善,將對這些企業的有實質性和…

使用Apriori進行關聯分析(二)

使用Apriori進行關聯分析(二)書接上文(使用Apriori進行關聯分析(一)),介紹如何挖掘關聯規則。發現關聯規則我們的目標是通過頻繁項集挖掘到隱藏的關聯規則。所謂關聯規則,指通過某個…

Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool

Apache Tomcat 7 Configuration Reference (7.0.93) - The Executor (thread pool)https://tomcat.apache.org/tomcat-7.0-doc/config/executor.html Tomat組件研究之ThreadPool - 老碼農的專欄 - CSDN博客https://blog.csdn.net/chen77716/article/details/344764 Tomcat中的線…

數學筆記3——導數3(隱函數的導數)

數學筆記3——導數3(隱函數的導數)冪函數的擴展形式f(x) xn的導數:f’(x) nxn-1,n是整數,該公式對f(x) xm/n, m,n 是整數同樣適用。推導過程:什么是隱函數引自知乎:“如果方程F(x,y)0能確定y…

機器學習13大規模數據集

大型數據集的學習(Learning With Large Datasets) 如果我們有一個低方差的模型, 增加數據集的規模可以幫助你獲得更好的結果。 我們應該怎樣應對一個有 100 萬條記錄的訓練集? 以線性回歸模型為例,每一次梯度下降…

svn認證失敗,解決方案

在svnserve.conf:文件中去掉authz-db authz前面的#號,會出現的認證失敗。 造成此原因的主要問題就是authz文件中權限沒有配置好。 例如: 創建prj1庫 svnadmin create prj1 修改配置文件 svnserve.conf: [general] anon-access read auth-access write…

Python機器學習庫sklearn的安裝

Python機器學習庫sklearn的安裝 scikit-learn是Python的一個開源機器學習模塊,它建立在NumPy,SciPy和matplotlib模塊之上能夠為用戶提供各種機器學習算法接口,可以讓用戶簡單、高效地進行數據挖掘和數據分析。 Ubuntu14.04系統上安裝 安裝num…

Java07多線程

14 多線程 操作系統的多任務(multitasking):在同一時刻運行多個程序的能力。 多線程在較低的層次上擴展了多任務的概念:一個程序同時執行多個任務。 通常,每一個任務稱為一個線程(tread)&…