1. 程式人生 > >ML模型2:線性迴歸模型

ML模型2:線性迴歸模型

線性迴歸模型

1. 問題描述

假設有m個樣本,n維特徵。樣本集記為 {(x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),yn)}\left\{ {(x_1^{(0)},x_2^{(0)},...x_n^{(0)},{y_0}),(x_1^{(1)},x_2^{(1)},...x_n^{(1)},{y_1}),...(x_1^{(m)},x_2^{(m)},...x_n^{(m)},{y_n})} \right\}

1),y1),...(x1(m),x2(m),...xn(m),yn)}

問題:對於一個新的樣本(x1(k),x2(k),...xn(k))(x_1^{(k)},x_2^{(k)},...x_n^{(k)}),它對應的yk{y_k}是多少呢?

若y是連續值-迴歸問題-線性迴歸模型,y是離散值-分類問題-邏輯迴歸模型。 樣本特徵是1維時-簡單線性迴歸;樣本特徵是多維時-多元線性迴歸 → 線性表示的是直線/平面/…

2. 模型描述

待估計的模型hθ(x1,x2,...xn)=θ0+θ1x1+...+θnxn{h_\theta }({x_1},{x_2},...{x_n}) = {\theta _0} + {\theta _1}{x_1} + ... + {\theta _n}{x_n}

此處,θi{\theta _i}為模型引數,xi{x_i}為每個樣本的特徵值。為簡化問題,引入特徵x0=1{x_0} = 1,則

hθ(x1,x2,...xn)=i=0nθixi{h_\theta }(x_1, x_2,...x_n) = \sum\limits_{i = 0}^n {{\theta _i}} {x_i} 矩陣形式 hθ(X)=Xθ{h_{\bf{\theta }}}({\bf{X}}) = {\bf{X\theta }}

其中 (4)[x1(0)x2(0)...xn(0)x1(1)x2(1)...xn(1)............x1(m)x2(m)...xn(m)] \begin{bmatrix} x_1^{\left( 0 \right)} & x_2^{\left( 0 \right)} & ... & x_n^{\left( 0 \right)} \\ x_1^{\left( 1 \right)} & x_2^{\left( 1 \right)} & ... & x_n^{\left( 1 \right)} \\ ... & ... & ... & ... \\ x_1^{\left( m \right)} & x_2^{\left( m \right)} & ... & x_n^{\left( m \right)} \end{bmatrix} \tag{4} θ=(θ0,θ1,...,θn)T\theta = {({\theta _0},{\theta _1},...,{\theta _n})^T}

3. 模型求解

損失函式 - 均方誤差(Q1. 為什麼選均方誤差?J(θ0,θ1...,θn)=i=0m(hθ(x0,x1,...xn)yi)2J({\theta _0},{\theta _1}...,{\theta _n}) = \sum\limits_{i = 0}^m {({h_\theta }(} {x_0},{x_1},...{x_n}) - {y_i}{)^2} 矩陣形式 J(θ)=12(XθY)T(XθY)J({\bf{\theta }}) = {1 \over 2}{({\bf{X\theta }} - {\bf{Y}})^T}({\bf{X\theta }} - {\bf{Y}}) 模型求解 - 如何求得引數θ\theta的值?

最小二乘法對應有兩種:線性和非線性。線性最小二乘的解是closed-form (見3.1),而非線性最小二乘沒有closed-form,通常用迭代法求解 (見3.2)。

正規方程法通常用來求解線性最小二乘問題。梯度下降法是迭代法的一種,可以用於求解最小二乘問題(線性和非線性都可以)。高斯-牛頓法是另一種經常用於求解非線性最小二乘的迭代法)。

顯然線性迴歸的擬合函式是線性的,所以可以用兩種方法求解:正規方程法,迭代法。

3.1 正規方程法 - 線性最小二乘

求解過程

損失函式為 J(θ)=12(XθY)T(XθY)J({\bf{\theta }}) = {1 \over 2}{({\bf{X\theta }} - {\bf{Y}})^T}({\bf{X\theta }} - {\bf{Y}}) 根據最小二乘法的原理,損失函式對θ向量求導取0。結果如下式: θJ(θ)=XT(XθY)=0{\partial \over {\partial {\bf{\theta }}}}J({\bf{\theta }}) = {{\bf{X}}^T}({\bf{X\theta }} - {\bf{Y}}) = 0 此處用到以下兩個矩陣求導公式:

X(AX)=AT{\partial \over {\partial X}}\left( {AX} \right) = {A^T}

相關推薦

ML模型2線性迴歸模型

線性迴歸模型 1. 問題描述 假設有m個樣本,n維特徵。樣本集記為 {(x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),yn)}\left\{ {(x_1^{

ML模型2邏輯迴歸

一些迴歸演算法可以用來處理分類問題,以及一些分類演算法可以進行迴歸預測,邏輯迴歸就屬於前者。邏輯迴歸一般通過估計一個概率值,來表示一個樣本屬於某一類的概率。假如一個樣本屬於某一類的概率大於50%,那麼就判該樣本屬於這一類。 優點:計算代價不高,易於理解和實現。

大叔學ML第四線性迴歸正則化

目錄 基本形式 梯度下降法中應用正則化項 正規方程中應用正則化項 小試牛刀 呼叫類庫 擴充套件 正則:正則是一個漢語詞彙,拼音為zhèng zé,基本意思是正其禮儀法則;正規;常規;正宗等。出自《楚辭·離騷》、《插圖本中國文學史》、《東京賦》等文獻。 —— 百度百科

機器學習筆記2線性迴歸

機器學習筆記2:線性迴歸 Andrew Ng機器學習課程學習筆記2 線性迴歸 引數說明:   θi:parameters,引數   x:input,輸入   y:output,輸出   h:hypothesis,假設   m:資料數量 迴歸方程:   一元線性的迴歸方程的一

線性分類模型(二)logistic迴歸模型分析

前言 上一篇文章介紹了線性判別模型,本文介紹線性生成模型——logistic迴歸模型。本文介紹logstic迴歸模型相關的知識,為了更好理解模型的決策邊界函式,本文同時分析了多元變數的協方差對概率分佈的影響。   目錄 1、logistic迴歸模型的含義 2、l

scikit-learn 線性迴歸模型的score函式,返回值是決定係數R^2

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression http://scikit-le

Deeplearning4j 實戰 (11)基於Nd4j的線性迴歸模型的實現

Nd4j是Deeplearning4j生態圈中用於張量計算的一個子專案,其中張量的常見運算(標量的加減乘除,張量間的加減乘除以及Hadmard乘積等)都通過JavaCPP技術在off-heap memory上進行計算,可以選擇的後臺計算框架有:OpenBLAS,MKL等,這在之前的部落格中也做過詳細

2.9 線性迴歸演算法學習——kNN模型解決迴歸問題及網格搜尋最優引數

模型引入from sklearn.neighbors import KNeighborsRegressor例項化物件knn_reg=KNeighborsRegressor()訓練資料集knn_reg.fit(X_train,y_train)檢視評估的成績knn_reg.sco

初學ML筆記N0.1——線性迴歸,分類與邏輯斯蒂迴歸,通用線性模型

1.線性迴歸 線性迴歸,即假設使用一個線性的模型方程,來擬合特徵與結果,如下 向量形式: x1,x2為輸入特徵。在上式中,theta則為每個特徵所對應的權重值,上式隱含了一個條件,即我們假設還有x0這個特徵,其值全部為1。 定義cost

sklearn-1.1.16.多項式迴歸基函式拓展線性迴歸模型

1.1.16.多項式迴歸:基函式拓展線性迴歸模型機器學習中一種常見模式是使用線性模型去訓練非線性模型。這種方式保持了常見線性方法的快速性,同時適用於更廣泛的資料。例如,一個簡單的線性迴歸可以通過係數拓展到多項式。在標準線性迴歸情況下,你看你有一個類似二維資料的模型:如果我們要

利用sklearn 中的線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib

** 利用sklearn 中的線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib ** import pandas as pd import matplotlib.pyplot as plt filename='ENB2012_data.xl

單變數的線性迴歸模型演算法

【寫在前面的話】大概一年前看過Andrew老師的機器學習課程,受益良多。今年在用機器學習分類的時候,發現很多機器學習基礎知識都已經忘得一乾二淨,對自己很是無語。因此,作者打算重新溫習一篇Andrew老師的機器學習課程,並用部落格來記錄每一節課程的知識要點,加油吧! 機器學習模型:

機器學習筆記(一)線性迴歸模型

一、線性迴歸模型 (一)引入—梯度下降演算法 1. 線性假設: 2. 方差代價函式:   3. 梯度下降:   4. : learning rate (用來控制我們在梯度下降時邁出多大的步子,值較大,梯度下降就很迅速) 值過大易造成無法收斂到minimum(每一步邁更大)

知識點整理2Java記憶體模型

原子性、記憶體可見性、重排序、順序一致性、volatile、鎖、final 一、原子性 原子性操作指相應的操作是單一不可分割的操作。例如,對int變數count執行count++d操作就不是原子性操作。因為count++實際上可以分解為3個操作:(1)讀取變數count的當前值

Qt模型/檢視原理(2)自定義模型

Qt模型/檢視原理(2):自定義模型 若對C++語法不熟悉,建議參閱《C++語法詳解》一書,電子工業出版社出版,該書語法示例短小精悍,對查閱C++知識點相當方便,並對語法原理作了詳細講解。 自定義模型至少需要實現QAbstractItemModel類中的以下5個純虛擬函式 colum

Tensorflow程式設計構造一個簡單的線性迴歸模型

模型 本次使用的是線性迴歸模型  y=Wx+b 其中 W 為權重, b 為偏置。  # -*- coding: utf-8 -*- import numpy as np import tensorflow as tf import matpl

莫煩python教程學習筆記——線性迴歸模型的屬性

# View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTT

tensorflow訓練線性迴歸模型

完整程式碼 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np #樣本資料 x_train = np.linspace(-1,1,300)[:,np.newaxis] noise = np.random.n

線性迴歸模型的效能評價指標

本節討論下線性迴歸模型的效能評價指標 對於機器學習的兩個基本問題分類和迴歸的評價方式有所不同,分類問題一般通過分類準確率、召回率、F1值、ROC/AUC等手段進行模型的評估。對於迴歸問題,該如何評價?  這裡簡要列舉部分評估方法。 1、殘差估計 總體思想是計算實際值與預測值間的

線性模型-區域性加權線性迴歸 機器學習實戰

區域性加權線性迴歸 線性迴歸的一個問題是有可能出現欠擬合,因為它求的是具有最小均方誤差的無偏估計,顯然模型欠擬合將無法做出很好的迴歸預測,所以有些方法允許在估計中引入一些偏差,從而降低預測的均方誤差。區域性線性加權的思想是對待預測點附近的每個點賦予一個權重,然後在帶權的樣本上基於最小均方誤差來