1. 程式人生 > >線性迴歸與邏輯迴歸

線性迴歸與邏輯迴歸

也可以配合這篇文章(CS229學習筆記)進行學習。

目錄

1 迴歸問題

2 虛擬變數

3 迴歸診斷

1 迴歸問題

分類:一元線性迴歸;多元線性(用曲面擬合);廣義線性迴歸(用線性迴歸方法處理非線性迴歸問題);非線性迴歸

關係:

相關係數:

相關係數的取值範圍為[-1,1],它的絕對值越接近於1,越適合用直線去擬合。

求各點到直線距離之和 -> 求平行於y軸的線段長度的平方和,稱為殘差和 -> 令殘差和最小

求解上圖中的二元一次方程組,解為:

2 虛擬變數

虛擬變數其實算不上一種變數型別(比如連續變數、分類變數等),確切地說,是一種將多分類變數轉換為二分變數的一種形式。

比如預測體重w,輸入的變數由身高h和性別、人種。其中性別(男or女,暫不考慮複雜情況0)、人種(黃or白or黑,暫不考慮混血等複雜情況)不是連續變數。此時的迴歸模型為:

w = a + b*h +c*is_man +d*is_yellow + e*is_white

該模型為加法模型。其中is_man,is_yellow,is_white都只能取0或1(能取n個值的變數,在式子中由n-1項表示;比如人種一共三類,則式子中用is_yellow,is_white兩個變量表示;否則會造成多重共線性)。

因此我們可以發現,三個啞變數在例子裡渠道的作用是調整截距。

如何讓啞變數對斜率也產生影響呢?——乘法模型

採用同樣的例子,此時迴歸模型為:

w = a + b*h +c*is_man*h +d*is_woman*h + e*is_yellow*h + f*is_white*h + g*is_black*h

對於乘法模型來說,必須把每個變數所有的情況表示在式子裡。

3 迴歸診斷

3.1 發現離群值

3.2 判斷線性假設是否合理

3.3 誤差是否滿足獨立、等方差、正態分佈?

首先,讓我們承認誤差的存在,當預測值加上一個誤差時,才能得到實際值: 

第二,我們假設誤差服從正態分佈。這個假設有兩個原因,一個是影響誤差的因素有很多,這些因素都是隨機分佈的,但是它們在整體上會趨向於正態分佈,另一個是因為在把誤差假設為服從正態分佈後,相應的工作一般都能取得比較好的效果,雖然它們還是沒有非常精確,但是已經足夠了。

3.4 多重共線性

多重共線性是指線性迴歸模型中的解釋變數之間由於存在精確相關關係或高度相關關係而使模型估計失真或難以估計準確。

一般來說,由於經濟資料的限制使得模型設計不當,導致設計矩陣中解釋變數間存在普遍的相關關係。完全共線性的情況並不多見,一般出現的是在一定程度上的共線性,即近似共線性。

有的時候,當自變數彼此相關時,迴歸模型可能非常令人糊塗,估計的效應會隨著模型中的其他的自變數而改變數值,甚至是符號,所以我們在分析的時候,瞭解自變數間的關係的影響是很重要的,因此這個複雜的問題就常被稱之為共線性或多重共線性.

多重共線性的判別方法是:

1)相關係數,如果係數很大,比如0.8以上,高度相關的話,變數間就非常可能存在共線性。

2)kappa係數,對相關係數矩陣求k值,如果大於100是較強共線性,大於1000是嚴重共線性。再通過eigen看存在共線性的變數。

4 廣義線性迴歸

5 邏輯迴歸問題

解決分類問題——將樣本特徵和樣本發生的概率聯絡起來,而概率是一個數,所以稱為邏輯迴歸

邏輯迴歸得到的是一個概率。只能解決二分類問題。

直接使用線性迴歸的方法,沒有值域的限制,而概率是有值域限制的:

所以我們可以把線性迴歸的解經過一個特殊的函式:

5.1 Sigmoid函式

5.2 損失函式

合併後的損失函式為

其中y=1時的損失函式:

p越小,懲罰越大;p=1時,懲罰為0。

y=0時的損失函式:

該損失函式沒有公式解,只能用梯度下降的方法求解;同時由於是凸函式,可以求到全域性最優解。

5.3 梯度下降

其中X_j^i是X_b的第i行j列的元素

經過化簡後:

(注意前面的係數不一樣!)

邏輯迴歸的向量化:

相關推薦

機器學習 --- 線性迴歸邏輯迴歸

線性迴歸和邏輯迴歸在機器學習上是一種監督式學習。在預測類問題上,我們希望能通過一個對映關係  ,當給定變數  ,能得到一個較為滿意的預測結果  ,迴歸方法旨在找到能表示樣本空間分佈的對映關係。   一、線性迴歸的基本形式

線性迴歸邏輯迴歸的區別

線性迴歸 以經典的預測房價為例, 假設樣本為(X,yiX, y_iX,yi​),其中X是多維變數(X=(x1,x2...xn)X = (x_1, x_2...x_n)X=(x1​,x2​...xn​))

Pytorch學習筆記(三)線性迴歸邏輯迴歸

在瞭解了Pytorch的一些機制後,當然要進行一些例項的學習,畢竟實踐出真知嘛。 對於所有的機器學習愛好者來說,第一個要學的模型無疑是線性迴歸 所謂線性迴歸,指的就是用對輸入資料的每個維度進行線性組合擬合Label-y。最簡單的線性迴歸即是二維平面內的直線擬

機器學習_最小二乘法,線性迴歸邏輯迴歸

1. 線性迴歸  線性迴歸是利用數理統計中迴歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。  直觀地說,在二維情況下,已知一些點的X,Y座標,統計條件X與結果Y的關係,畫一條直線,讓直線離所有點都儘量地近(距離之和最小),用直線抽象地表達這些點,然後對新的X預測新的Y。具體實現一般

線性迴歸邏輯迴歸、softmax迴歸

1.線性迴歸 預測函式: hθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1xhθ​(x)=θ0​+θ1​x 1.1 梯度下降法 損失函式(均方差損失函式): min⁡J(θ)=12m∑i=1m(hθ(xi)−yi)2\min J

線性迴歸邏輯迴歸的區別聯絡

logistics本質是線性迴歸,只不過特徵到結果加了一層對映。即先把特徵線性求和,在用Sigmoid函式將結果對映到 [0,1] 如果隨機變數X只取0和1兩個值,並且相應的概率為: 則稱隨機變數X服從引數為p的伯努利分佈,若令q=1一p,則X的概率函式可寫 為:

線性迴歸邏輯迴歸

也可以配合這篇文章(CS229學習筆記)進行學習。 目錄 1 迴歸問題 2 虛擬變數 3 迴歸診斷 1 迴歸問題 分類:一元線性迴歸;多元線性(用曲面擬合);廣義線性迴歸(用線性迴歸方法處理非線性迴歸問題);非線性迴歸

tensorflow example 入門例子(線型迴歸邏輯迴歸)

1. 前言–線性迴歸與邏輯迴歸介紹 tensorflow一般入門都至少會講兩種例子,一個是線型迴歸,一個是邏輯迴歸。(或者也可以說,迴歸演算法 & 分類演算法) 線性迴歸用來做迴歸預測,邏輯迴歸用於做二分類,一個是解決迴歸問題,一個用於解決分類問題。兩者區別: 擬合函式

機器學習筆記《四》:線性迴歸邏輯迴歸案例重點細節問題分析

import numpy as np import pandas as pd import matplotlib.pyplot as plt import os path = "data"+os.sep+"creditcard.csv"; pdData =

Machine Learning--week3 邏輯迴歸函式(分類)、決策邊界、邏輯迴歸代價函式、多分類(邏輯迴歸線性迴歸的)正則化

Classification It's not a good idea to use linear regression for classification problem. We can use logistic regression algorism, which is a classificati

線性迴歸邏輯斯提回歸的區別

線性迴歸和邏輯斯提回歸都是線性模型,雖然邏輯斯提回歸是加了sigmoid函式,引入了非線性,但是它本質上還是隻能解決非線性問題的。 兩者的區別本質上,線性迴歸是做迴歸的,迴歸出y=wx+b的w,b。l

線性迴歸_邏輯迴歸_廣義線性模型_斯坦福CS229_學習筆記

前言 之前學習過視訊版本的吳恩達老師CS229的機器學習課程,但是覺得並不能理解很好。現在結合講義,對於之前的內容再次進行梳理,仍然記錄下自己的思考。圖片來源於網路或者講義。話不多說,進入正題吧。 Part I Regression and Linear Regression

tensorflow實現線性迴歸邏輯迴歸

關於線性迴歸和邏輯迴歸的原理和python實現,請左轉:邏輯迴歸、線性迴歸。 這裡就直接貼程式碼了。 線性迴歸: # -*- coding: utf-8 -*- """ Created on Thu Aug 30 09:40:50 2018 @author: 96jie """ im

ml課程:線性迴歸邏輯迴歸入門(含程式碼實現)

以下是我的學習筆記,以及總結,如有錯誤之處請不吝賜教。 本文主要介紹簡單的線性迴歸、邏輯迴歸先關推倒,以及案例程式碼。 昨天做專案發現K-means都忘了,想想之前很多基礎都忘了,於是決定重新開始學一遍ml的基礎內容,順便記錄一下,也算是梳理自己的知識體系吧。 機器學習:目前包括有監

通過使用各種演算法(線性迴歸邏輯迴歸,隨機森林,繼承演算法)預測泰坦尼克號上的某個人是否獲救

Python原始碼: #!/usr/bin/env python # encoding: utf-8 """ @Company:華中科技大學電氣學院聚變與等離子研究所 @version: V1.0 @author: Victor @contact: [email protected]

線性迴歸邏輯迴歸區別

線性迴歸和邏輯迴歸 線性:y=a*x 是一次方的變化 迴歸:迴歸到平均值 線性迴歸用作迴歸預測 邏輯迴歸用作二分類,也可以做多分類 從資料上來講,線性迴歸的樣本的輸出,都是連續值 邏輯迴歸中y只能取0或者1。 從擬合函式講,線性迴歸: 邏輯迴歸: 邏輯迴歸實際上就是在多元線性迴歸

線性迴歸邏輯迴歸的區別

迴歸問題的條件/前提: 1) 收集的資料 2) 假設的模型,即一個函式,這個函式裡含有未知的引數,通過學習,可以估計出引數。然後利用這個模型去預測/分類新的資料。 1. 線性迴歸 假設 特徵 和 結果 都滿足線性。即不大於一次方。這個是針對 收集的資料而言。 收集的資料中,每一個分量,就

線性迴歸邏輯迴歸介紹

概述 線性迴歸和邏輯迴歸是機器學習中最基本的兩個模型,線性迴歸一般用來解決預測問題,邏輯迴歸一般解決分類問題,線性迴歸模型和邏輯迴歸模型之間既有區別又有關聯。 線性迴歸模型 假定訓練資料集為

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

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