1. 程式人生 > >最優化學習筆記(十四)——共軛梯度法

最優化學習筆記(十四)——共軛梯度法

    共軛梯度法不需要預先給定Q共軛方向,而是隨著迭代的進行不斷產生Q共軛方向。在每次的迭代中,利用上一個搜尋方向和目標函式在當前迭代點的梯度向量 之間的線性組合構造一個新的方向,使其與前邊已經產生的搜尋方向組成Q共軛方向。對於一個n維二次型函式,沿著Q共軛方向進行搜尋,經過n次迭代,即可得到極小點。
    考慮二次型函式:

f(x)=12xTQxxTb,xRn
其中, Q=QT>0。初始點x(0),搜尋方向採用最速下降法的方向,即函式fx(0)處梯度的負方向,即:
d(0)=g(0)
產生下一個迭代點:
x(1)=x(0)+α0d(0)
其中,步長為:
α0=argminα
0
f(x(0)+α0d(0))=g(0)Td(0)d(0)TQd(0)

再展開下一次迭代,搜尋方向d(0)d(1)應該是關於Q共軛的。推廣開來,在k+1詞迭代中:
d(k+1)=g(k+1)+βkd(k),k=0,1,2
按照如下方式選擇βk, 可以使得d(k+1)d(0),d(1),,d(k)組成Q共軛方向:
βk=g(k+1)TQd(k)d(k)TQd(k)

共軛梯度法的演算法步驟可以歸納如下:

  1. k=0,選擇初始值:x(0)
  2. 計算g(0)=f(x(0)),如果g(0)=0,停止。否則:d(0)=g(0).
  3. 計算αk=g(k)Td(k)d(k)TQd(k)
  4. 計算

    相關推薦

    最優化學習筆記——梯度

        共軛梯度法不需要預先給定Q共軛方向,而是隨著迭代的進行不斷產生Q共軛方向。在每次的迭代中,利用上一個搜尋方向和目標函式在當前迭代點的梯度向量 之間的線性組合構造一個新的方向,使其與前邊已經產生的搜尋方向組成Q共軛方向。對於一個n維二次型函式,沿著Q共軛方

    如鵬網學習筆記ASP.NET

    表單參數 form表單 web服務 exp 序列化 date 文字 arr 處理程序 Asp.net筆記 一、Socket類   進行網絡編程的類,可以在兩臺計算機之間進行網絡通訊   過程:     向服務器發送指令:     GET /index.html HTTP

    Java框架spring Boot學習筆記:log4j介紹

    inf alt 技術分享 images 使用 image 詳細 配置文件 -128 功能 日誌功能,通過log4j可以看到程序運行過程的詳細信息。 使用 導入log4j的jar包 復制log4j的配置文件,復制到src下面         3.設置日誌級別    

    Linux學習筆記df命令、du命令、磁盤分區

    xtend du -sh image c2c 浪費 code 服務 分享 bdc 一、df #查看文件系統的使用情況第一列文件系統中tmpfs結尾的都是臨時的文件系統,文件單位默認為kb df -h 自動適應文件大小的單位free可以查看swap的使用情況 df -i 查看

    Nodejs學習筆記—Mongoose介紹和入門

    tar 字段名 lse number 數組 int 位置 斷開 mongod 簡介   Mongoose是在node.js異步環境下對mongodb進行便捷操作的對象模型工具   那麽要使用它,首先你得裝上node.js和mongodb,關於mongodb的安裝和操作介紹可

    ASP.NET Core 2 學習筆記Filters

    span ans 黃色 返回 lec red addm spn using 原文:ASP.NET Core 2 學習筆記(十四)FiltersFilter是延續ASP.NET MVC的產物,同樣保留了五種的Filter,分別是Authorization Filter、Res

    javaweb學習筆記:JSP4

    目錄   製作高仿的JSTL標籤庫之核心標籤庫 《1》xiaohua.tld檔案: 《2》依附的各個類: 《3》imitate.core.jsp檔案: 《4》瀏覽器檢視:   製作高仿的JSTL標籤庫之核心標籤庫 通過自定義標籤,製

    機器學習筆記:TensorFlow實戰六經典卷積神經網路:AlexNet

    1 - 引言 2012年,Imagenet比賽冠軍的model——Alexnet [2](以第一作者alex命名)。這個網路算是一個具有突破性意義的模型 首先它證明了CNN在複雜模型下的有效性,然後GPU實現使得訓練在可接受的時間範圍內得到結果,讓之後的網路模型構建變得更加複雜,並且通過

    Effective_STL 學習筆記 使用 reserve 來避免沒必要的重新分配

      對於vector和string,當需要更多的空間,以realloc等價的思想來增長。類似於realloc的操作有四個部分:   1. 分配新的記憶體塊,它有容器目前容量的幾倍。大部分實現中,vector和string的容量以2為因數增長。    也就是說,當容器必須擴充套件時,它的容量每次

    python基礎教程第三版)學習筆記

    第十四章 網路程式設計   鑑於Python提供的網路工具眾多,這裡只能簡要地介紹它的網路功能。 本章首先概述Python標準庫中的一些網路模組。然後討論SocketServer和相關的類,並介紹 地介紹同時處理多個連線的各種方法。最後,簡單地說一說Twisted,這是一個使用Pyth

    Python學習筆記高階變數型別--字串

    1、字串定義 字串 就是 一串字元,是程式語言中表示文字的資料型別   在Python中可以使用 一對雙引號"或者一對單引號'定義一個字串 雖然可以使用\"或者\’定義字串 如果字串內部需要使用',可以使用”定義字串 可以使用 索引 獲取一個字串中

    GoLang學習筆記函式的可變引數

    一個函式中最多隻有一個可變引數,如果引數列表中還有其他型別的引數,則可變引數寫在最後。 語法格式: func 函式名(引數名 ...型別)[(返回值列表)]{     //函式體 } 示例一,引數不定,引數的個數是0-N個,引數型別一致,返回值1個。 注意:引數是

    Android開發學習筆記基礎UI控制元件之Spinner

    Spinner:彈出一個列表選擇框,供使用者選擇。繼承自ViewGroup,因為可以容納很多列表項,因此它也是一個容器控制元件。 給Spinner指定資料來源的2種方法: 一、通過指定xml檔案來指

    機器學習筆記:異常檢測

    目錄 1)Problem motivation 2)Gaussian distribution 3)Algorithm 4)Developing and evaluating an anomaly detection system 5)Anomaly detection vs

    大資料學習筆記-- hadoop

    Table of Contents HDFS 儲存模型 架構模型  副本佈置 總結 ​ Hadoop簡介  HDFS 儲存模型 解釋 : 已上傳的Block大小不可改變的原因是每個Block大小一致,改變一個其他也會跟著改變

    前端入門學習筆記CSS基礎CSS 規則與選擇器

    CSS語法 CSS是由瀏覽器解釋的樣式規則,然後應用於文件中相應的元素。 樣式規則有三個部分:選擇器,屬性和值。 例如,標題顏色可以定義為: h1{color: red;} 選擇器{ 屬性: 值;} selec

    Machine Learning學習筆記整合學習Boosting,Bagging,組合策略

    整合學習 在一些資料探勘競賽中,後期我們需要對多個模型進行融合以提高效果時,常常會用到Bagging,Boosting,Stacking等這幾個框架演算法。 整合學習在機器學習演算法中具有較高的準確率,不足之處就是模型的訓練過程可能比較複雜,效率不是很高。目前接觸較多的整合學習主要

    Redis 學習筆記Redis Cluster介紹與搭建

    Redis Cluster 介紹與搭建 1. Redis Cluster介紹 Redis Cluster是Redis的分散式解決方案,在Redis 3.0版本正式推出的,有效解決了Redis分散式方面的需求。當遇到單機記憶體、併發、流量等瓶頸時,可以採用Cl

    Nodejs學習筆記— Mongoose介紹和入門 && Nodejs學習筆記--- 與MongoDB的互動mongodb/node-mongodb-native、MongoDB入門

    目錄 簡介   MongoDB    開源,高效能的NoSQL資料庫;支援索引、叢集、複製和故障轉移、各種語言的驅動程式;高伸縮性;   node-mongodb-native   mongodb的nodejs驅動; MongoDB安裝(windows)   按照官方說明在win7 64位

    《瘋狂Java講義》學習筆記類載入機制與反射

    1、類的載入、連線和初始化 JVM和類 同一個JVM的所有執行緒、所有變數都處於同一個程序裡,它們都使用該JVM程序的記憶體區 當系統出現一下集中情況時,JVM程序將被終止: 程式執行到最後正常結束 程式執行到使用Sytem.exit()或Runti