1. 程式人生 > >【機器學習詳解】線性迴歸、梯度下降、最小二乘的幾何和概率解釋

【機器學習詳解】線性迴歸、梯度下降、最小二乘的幾何和概率解釋

線性迴歸

即線性擬合,給定N個樣本資料x1,y1,(x2,y2)....(xN,yN)其中xi為輸入向量,yi表示目標值,即想要預測的值。採用曲線擬合方式,找到最佳的函式曲線來逼近原始資料。通過使得代價函式最小來決定函式引數值。
採用斯坦福大學公開課的例子:假如一套房子的價格只考慮由房屋面積(Living area)與臥室數目(bedrooms)兩個因素決定,現在拿到手有m個樣本,如下圖所示。此例中,輸入x=(x1,x2)為2維向量,分別對應房屋面積和臥室數目,y對應價格。現在想根據上述樣本資料,預測新的輸入x(k)對應的y(k)
這裡寫圖片描述
我們採用x的線性函式hθ(x)=θ0+θ1x

1+θ2x2來近似y值,其中θ0為偏移量。令x0=1,簡寫為hθ(x)=θTx。現在的問題是如何選擇θ的值,來使得hθ(x(i))最大程度接近y(i)值。

最小二乘代價函式

採用最小二乘法定義代價函式J(θ)=12mi=1(hθ(x(i))y(i))2,表示每個樣本的預測值與真實值得差值平方的累加和。
現在問題轉化為代價函式J(θ)最小對應的θ值,其中因子12是為了後面的計算方便。

梯度下降:

梯度下降的思想是沿著函式負梯度方向,不斷更新θ值,每次更新一次,函式值下降一次,演算法如下:

1.初始化θ值;
2.更新θ值,使得J(θ)值更小 :θ:=θαθJ(θ

)
3.如果J(θ)值可以繼續減少,返回第2步;

其中α稱為學習率,決定著每一次迭代跨越的步長。θT=(θ0,θ1,θ2)為一個三維向量,梯度偏導數計算方法:
這裡寫圖片描述
對於單個樣本資料,則更新方法為θj:=θjα(hθ(x)y)xj

關於梯度下降與梯度上升
注意到,我們上述求偏導數得到(hθ(x)y)xj,此方向為梯度上升方法,由於我們要求J(θ)的最小值,所以應沿著負梯度方向,即θj:=θjα(hθ(x)y)xj,若提取負號,就變為θj:=θj+α(yh

相關推薦

機器學習線性迴歸梯度下降幾何概率解釋

線性迴歸 即線性擬合,給定N個樣本資料(x1,y1),(x2,y2)....(xN,yN)其中xi為輸入向量,yi表示目標值,即想要預測的值。採用曲線擬合方式,找到最佳的函式曲線來逼近原始資料。通過使得代價函式最小來決定函式引數值。 採用斯坦福大學公開課的

機器學習演算法總結線性迴歸

文章目錄 1 機器學習概念 2 線性迴歸 3 代價函式 4 代價函式求解 4.1 正規方程求解 4.2 梯度下降法 4.2.1 批量梯度下降(BGD) 4.2.2 隨機梯

機器學習KNN分類的概念誤差率及其問題

勿在浮沙築高臺 KNN概念         KNN(K-Nearest Neighbors algorithm)是一種非引數模型演算法。在訓練資料量為N的樣本點中,尋找最近鄰測試資料x的K個樣本,然

機器學習無約束優化問題:梯度下降牛頓法擬牛頓法

無約束優化問題是機器學習中最普遍、最簡單的優化問題。 x∗=minxf(x),x∈Rn 1.梯度下降 梯度下降是最簡單的迭代優化演算法,每一次迭代需求解一次梯度方向。函式的負梯度方向代表使函式值減小最快的方向。它的思想是沿著函式負梯度方向移動逐步逼

機器學習實戰-python3線性迴歸

本篇將介紹機器學習中的迴歸演算法(主要是線性迴歸)。分類輸出的結果是標稱型的數值(類別值),而回歸預測是結果是一組連續值。簡而言之,迴歸與分類的不同在於其目標變數是連續數值型。 本篇的資料和程式碼參見:https://github.com/stonycat/M

機器學習SMO演算法剖析

CSDN−勿在浮沙築高臺 本文力求簡化SMO的演算法思想,畢竟自己理解有限,無奈還是要拿一堆公式推來推去,但是靜下心看完本篇並隨手推導,你會迎刃而解的。推薦參看SMO原文中的虛擬碼。 1.SMO概念 上一篇部落格已經詳細介紹了SVM原理,為了方便求解,把原

機器學習:單變數線性迴歸梯度下降

***************************************** 注:本系列部落格是博主學習Stanford大學 Andrew Ng 教授的《機器學習》課程筆記。博主深感學過課程後,不進行總結很容易遺忘,根據課程加上自己對不明白問題的補充遂有此係列部落格。

機器學習數學基礎線性代數基礎

目錄 線性代數 一、基本知識 二、向量操作 三、矩陣運算 線性代數 一、基本知識 本書中所有的向量都是列向量的形式: \[\mathbf{\vec x}=(x_1,x_2,\cdots,x_n)^T=\begin{bmatrix}x_1\\x_2\

機器學習演算法實現logistic迴歸 基於PythonNumpy函式庫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

機器學習演算法推導邏輯迴歸

邏輯迴歸(logistic regression)是分類演算法的一種,通過形成決策邊界,達到對資料進行分類的效果。 演算法思想 邏輯迴歸中,以二分類為例,最終預測得到的是一個分類,也就是0或者1。若目標函式

機器學習筆記1Logistic迴歸總結

 Logistic迴歸總結 作者:洞庭之子 (2013年11月) 1.引言 看了Stanford的Andrew Ng老師的機器學習公開課中關於Logistic Regression的講解,然後又看了《機器學習實戰》中的LogisticRegression部分,

機器學習演算法實現logistic迴歸__基於PythonNumpy函式庫

1、演算法簡介 本文的重點放在演算法的工程實現上,關於演算法的原理不具體展開,logistic迴歸演算法很簡單,可以看看Andrew Ng的視訊:https://class.coursera.org/ml-007,也可以看看一些寫得比較好的博文:洞庭之子的博文。下面我只列出一些個人認為重要的點。 迴歸的概

機器學習基本理論大似然估計(MLE)大後驗概率估計(MAP),以及貝葉斯公式的理解

總結 ora 二次 判斷 天都 特性 以及 解釋 意思 【機器學習基本理論】詳解最大似然估計(MLE)、最大後驗概率估計(MAP),以及貝葉斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估計(Maximum lik

機器學習筆記02乘法(多元線性迴歸模型)

數學基礎 1.轉置矩陣 定義: 將矩陣A同序數的行換成列成為轉置矩陣ATA^TAT,舉例: A=(1203−11)A=\begin{pmatrix} 1 & 2 & 0 \\ 3 & -1 &

機器學習筆記01乘法(一元線性迴歸模型)

【參考資料】 【1】《概率論與數理統計》 【2】 http://scikit-learn.org /stable/auto_examples/ linear_model/ plot_ols.html # sphx-glr-auto-examples-

機器學習演算法推導簡單線性迴歸與多元線性迴歸

線性迴歸,主要用於從資料中擬合出一條直線(或更高維的平面),這條直線能夠很好地體現資料的特徵,比如,它能夠使得平面上的點都均勻地分佈在這條直線上。 演算法思想 對於簡單線性迴歸和多元線性迴歸,其演算法過程是相同的,不同之處在於簡單線性迴歸只有一個特徵需要擬合,多元線

機器學習筆記08分類器(softmax迴歸)

基本定義 首先給出softmax的數學定義,如下: hθ(x(i))=[p(y(i)=1∣x(i);θ)p(y(i)=2∣x(i);θ)⋮p(y(i)=k∣x(i);θ)]=1∑j=1keθjTx(i)[eθ1Tx(i)eθ2Tx(i)⋮eθkTx(i)]

機器學習+sklearn框架(一) 線性模型之Linear Regression

前言 一、原理    1.演算法含義    2.演算法特點 二、實現   1.sklearn中的線性迴歸   2.用Python自己實現演算法 三、思考(面試常問) 參考 前言        線性迴歸(Linear Regression)基本上可以說是機器

機器學習筆記27CART演算法-迴歸分類樹

基本概念 分類和迴歸樹(classification and regression tree, CART) 是應用廣泛的決策樹學習方法,由特徵選擇、樹的生成和剪枝組成,既可以用做分類也可以用作迴歸。 迴歸樹 迴歸樹的定義 假設X和Y分別作為輸入和輸出變數,那麼

機器學習——單層神經網路線性迴歸解釋實現

線性迴歸 機器學習——單層神經網路線性迴歸從零實現上篇部落格使用小批量隨機梯度下降法對loss函式進行優化,這篇部落格將從解釋解角度(即直接求解)對演算法進行優化。 演算法實現 import matplotlib.pyplot as plt from mpl_t