1. 程式人生 > >《機器學習實戰》學習筆記(四)之Logistic(上)基礎理論及演算法推導、線性迴歸,梯度下降演算法

《機器學習實戰》學習筆記(四)之Logistic(上)基礎理論及演算法推導、線性迴歸,梯度下降演算法

轉載請註明作者和出處:http://blog.csdn.net/john_bh/
執行平臺: Windows
Python版本: Python3.6
IDE: Sublime text3

一、概述

Logistic迴歸是統計學習中的經典分類方法,也是眾多回歸演算法中的一員。迴歸演算法有:線性迴歸、Logistic迴歸、多項式迴歸、逐步迴歸、令迴歸、Lasso迴歸等。我們常用Logistic迴歸模型做預測。通常,Logistic迴歸用於二分類問題,例如預測明天是否會下雨。它也可以用於多分類問題。利用Logistic迴歸進行分類的主要思想是:根據現有資料對分類邊界線建立迴歸公式,以此進行分類。

Logistic迴歸的一般過程:

  1. 收集資料:採用任意方法收集資料。
  2. 準備資料:由於需要進行距離計算,因此要求資料型別為數值型。另外,結構化資料格式則最佳。
  3. 分析資料:採用任意方法對資料進行分析。
  4. 訓練演算法:大部分時間將用於訓練,訓練的目的是為了找到最佳的分類迴歸係數。
  5. 測試演算法:一旦訓練步驟完成,分類將會很快。
  6. 使用演算法:首先,我們需要輸入一些資料,並將其轉換成對應的結構化數值;接著,基於訓練好的迴歸係數,就可以對這些數值進行簡單的迴歸計算,判定它們屬於哪個類別;在這之後,我們就可以在輸出的類別上做一些其他分析工作。

二、基於logsitic迴歸和Sigmoid函式的分類

在學習Logistic迴歸之前我們應該瞭解線性模型和線性迴歸,那麼什麼是線性模型和線性迴歸呢?

2.1 線性模型(linear model)

舉個例子:如下圖圖1中左圖所示,x軸是房屋的面積,Y軸表示的是房屋的價格,我們希望建立一個y=ax+b的模型,畫一條現出來如圖1中右圖所示:


這裡寫圖片描述
圖1

但是,往往房屋的價格不只是由面積大小決定的,比如說:地段位置,房屋樓層,朝向,戶型等等屬性特徵,那麼我們可以通過向量的形式來表示這個模型,xx={x1,x2,...,xn},其中xixx在第i個屬性上的取值,線性模型試圖學的一個通過屬性的線性組合來進行預測的函式,即:
f(xx
)=w1x1+w2x2+...+wnxn+b

一般用向量形式寫成f(xx)=wwTxx+b
其中ww={w1,w2,...,wn}wwb學的之後模型就可以確定。
線性模型形式簡單、易於建模,另外ww直觀地表達了個屬性在預測中的重要性,因此先行模型有很好的可解釋性。例如西瓜書中提到的西瓜問題:f西x=0.2x+0.5x+0.3x+1,則意味著可通過綜合考慮色澤、根蒂和敲聲來判斷西瓜好不好,其中根蒂最要緊,而敲聲比色澤更重要。

2.2 線性迴歸

給定資料集D={(xx1,y1),(xx2,y2),...,(xxm,ym)},其中xxi={xxi1,xxi2,...,xxin,},yiR,線性迴歸試圖學得一個線性模型以儘可能準確地預測實值輸出標記。

f(xi)=wxi+b使f(xi)yi
如何確定w和b呢?關鍵在於如何衡量f(x)和y之間的差別,均方誤差是迴歸任務中最常用的效能度量,因此可以檢視讓均方誤差最小化,即:

這裡寫圖片描述

基於均方誤差最小化進行模型求解的方法稱為最小二乘法(least square method),線上性迴歸中,最小二乘法就是找到一條直線,是所有的樣本到直線上的歐氏距離之和最小。

2.3 Logistic迴歸

我們想要的的函式應該是,能接受所有的輸入,然後預測出類別,即輸出標記y{0,1},然而線性迴歸模型產生的預測值z=θθTxx+b是實值,於是我們需要將實值z轉換為0/1值。最理想的就是單位階躍函式(unit-step function),


這裡寫圖片描述

但是單位階躍函式是不連續的,這個瞬間跳躍過程有時候很難處理,所以我們希望找到一個在一定程度上近似單位階躍,並且它是單調可微的函式,對數機率函式(Logistic function)正是這樣的一個函式。
g(z)=11+ez,z=θTx

這裡寫圖片描述

對數機率函式是一種Sigmoid函式,將z帶入得到
gz=11+e(

相關推薦

機器學習實戰學習筆記Logistic基礎理論演算法推導線性迴歸梯度下降演算法

轉載請註明作者和出處:http://blog.csdn.net/john_bh/ 執行平臺: Windows Python版本: Python3.6 IDE: Sublime text3 一、概述 Logistic迴歸是統計學習中的經典

機器學習--吳恩達線性迴歸梯度下降正規方程法

本節課是對監督學習的講解,ng以自動駕駛為例,告訴我們汽車對方向的預測是連續值,故而是迴歸問題。 什麼是迴歸問題?(regression) 確定兩種或兩種以上變數相互依賴的定量關係的一種統計分析方法 迴歸與分類問題的不同 迴歸與分類都屬於預測問題,而回歸預測的結果是連續的值

斯坦福CS229機器學習課程筆記一:線性迴歸梯度下降演算法

機器學習三要素 機器學習的三要素為:模型、策略、演算法。 模型:就是所要學習的條件概率分佈或決策函式。線性迴歸模型 策略:按照什麼樣的準則學習或選擇最優的模型。最小化均方誤差,即所謂的 least-squares(在spss裡線性迴歸對應的模組就叫OLS即Ordinary Least Squares):

斯坦福大學機器學習筆記——多變數的線性迴歸以及梯度下降法注意事項內有程式碼

在前面部落格中介紹了單變數線性迴歸的實現過程,本文將介紹多變數線性迴歸演算法。 兩者的對比如下: 1.資料方面的差異: 單變數線性迴歸資料: 多變數線性迴歸資料: 對於單變數線性迴歸來說,只有一個特徵(房子的大小),而對於多變數線性特徵迴歸特徵

Machine LearningStanford| 斯坦福大學機器學習筆記--第二週1.多元線性迴歸多元線性迴歸梯度下降

一.Multivariate Linear regression(多元線性迴歸) 現在起將開始介紹一種新的更為有效的線性迴歸形式。這種形式適用於多個變數或者多特徵量的情況。 在之前學習過的線性迴歸中

機器學習實戰筆記--第五章:Logistic迴歸

知識點1:python strip()函式和Split函式的用法總結原文程式碼:def loadDataSet(): dataMat = [] labelMat = [] fr = open('testSet.txt') for line in

機器學習】【線性迴歸梯度下降的三種方式(BGD+SGD+MSGD)以及三種調優方法(加快收斂速度)

1.梯度下降演算法梯度下降演算法的核心思路和公式推導,可以詳見前面的文章:梯度下降演算法的核心思路和公式推導如果代價函式是凸函式,用梯度下降演算法一定可以求得最優解。2.梯度下降的三種方式在ML中,梯度下降有三種方式:1)批量梯度下降(Batch Gradient  Desc

第一個機器學習演算法線性迴歸梯度下降

# 第一個機器學習演算法:線性迴歸與梯度下降 ## 符號解釋 * $x^{(i)}$,$y^{(i)}$:某個訓練樣本 * $m$:樣本總數量 * $h_{\theta}$:假設函式 ## Linear regression(線性迴歸) ### 如何獲得一個線性迴歸模型? * 將**訓練資料**放入

機器學習(二):理解線性迴歸梯度下降並做簡單預測

# 預測從瞎猜開始 按[上一篇文章](https://mp.weixin.qq.com/s/-KsbtgOc3C3ry-8P5f8K-Q)所說,機器學習是應用數學方法在資料中發現規律的過程。既然數學是對現實世界的解釋,那麼我們迴歸現實世界,做一些對照的想象。 想象我們面前有一塊塑料泡沫做的白板,白板上

Machine Learning--week1 監督學習預測函式代價函式以及梯度下降演算法

Supervised Learning given labelled data to train and used to predict for regression problem and classification problem Unsupervised Le

機器學習實戰讀書筆記:樸素貝葉斯演算法

樸素貝葉斯 優點: 在資料較少的情況下仍然有效 可以處理多類別問題 缺點:對輸入的資料的準備方式較為敏感 適用資料型別:標稱型資料 p1(x,y)>p2(x,y) 那麼類別是1 p2(x,y)>p1(x,y) 那麼類別是2 貝葉斯決策的核心是選擇具有最高概率的決策

機器學習》 周志華學習筆記章 決策樹課後習題python 實現

一、基本內容 1.基本流程 決策樹的生成過程是一個遞迴過程,有三種情形會導致遞迴返回 (1)當前節點包含的yangben全屬於同一類別,無需劃分; (2)當前屬性集為空,或是所有yangben在所有屬性上的取值相同,無法劃分; (3)當前結點包含的yangben集合為空,不能

機器學習實戰筆記:樸素貝葉斯

4.1 基於貝葉斯決策理論的分類方法 樸素貝葉斯是貝葉斯決策理論的一部分,貝葉斯決策理論的的核心思想,即選擇具有最高概率的決策。若p1(x,y)和p2(x,y)分別代表資料點(x,y)屬於類別1,2的概率,則判斷新資料點(x,y)屬於哪一類別的規則是: 4.3 使用條件概率來分類

機器學習實戰筆記:K-近鄰演算法

一、K-近鄰演算法 1.1 k-近鄰演算法簡介 簡單的說,K-近鄰演算法採用測量不同特徵值之間的距離的方法進行分類。 1.2 原理 存在一個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料 與所屬分類的對應關係。輸入沒有標籤的新資料

機器學習實戰筆記 第二章2

《機器學習實戰》筆記 第二章 (2) 2.2 約會網站配對 程式碼實現 解決方案① 解決方案② 建立散點圖 歸一化資料 作為完整程式驗證分類器 構建完整系統

機器學習實戰學習筆記5——主成分分析PCA

1.PCA演算法概述 1.1 PCA演算法介紹 主成分分析(Principal Component Analysis)是一種用正交變換的方法將一個可能相關變數的觀察值集合轉換成一個線性無關變數值集合的統計過程,被稱為主成分。主成分的數目小於或等於原始

《C++ Primer Plus》學習筆記——第章 複合型別

程式設計練習 編寫一個C++程式,如下述輸出示例所示的那樣請求並顯示資訊 what's your first name? Betty Sue what's your last name? Yewe what letter grade do you deserve? B what'

《C++ Primer Plus》學習筆記——第章 複合型別

指標與自由儲存空間 指標是一個變數,其儲存的是值的地址,而不是值的本身。對於變數可以使用(&)地址運算子來獲取地址。 顯示地址時,常用的描述記憶體的表示法是十六進位制表示法。 對於常規變數,值是指定的量,而地址是派生量。 指標名錶示的是地址。*運算子被稱為間接值或解除引用運算

《C++ Primer Plus》學習筆記——第章 複合型別

結構 結構是一種比陣列更靈活的資料格式,因為同一個結構可以儲存多種型別的資料。 結構是OOP堡壘(類)的基石。 結構是使用者定義的結構,而結構宣告定義了這種型別的資料屬性。定義結構描述——他描述並標記了能夠儲存在結構中的各種資料型別。然後按描述建立結構變數。 使用結構體必須先結構宣告

吳恩達機器學習課程筆記02——處理房價預測問題梯度下降演算法詳解

  建議記住的實用符號 符號 含義 m 樣本數目 x 輸入變數 y 輸出變數/目標變數