5.梯度寻优

迭代法求方程组的解:

import numpy as np
from numpy import *
from common_libs import *
import matplotlib.pyplot as plt

#消元法求原方程组的解
A = mat([[8,-3,2],[4,11,-1],[6,3,12]])
b = mat([20,33,36])
result = linalg.solve(A,b.T)
print(result)

#迭代法求方程组的解
error = 1.0e-6
steps = 100
n=3
xk = zeros((n,1))
errorlist=[]
B0 = mat([[0,3/8,-1/4],[-4/11,0,1/11],[-1/2,-1/4,0]])
f = mat([5/2,3,3]).T
for k in range(steps):
    xk_1 = xk
    xk = B0*xk + f
    errorlist.append(linalg.norm(xk - xk_1))
    if errorlist[-1] < error:
        print(k+1)
        break

print(xk)

matpts = zeros((2,k+1))
matpts[0] = linspace(1,k+1,k+1)
matpts[1] = array(errorlist)
drawScatter(plt,matpts)
plt.show()

原文地址:https://www.cnblogs.com/xiaochi/p/11101722.html

时间: 2024-08-08 20:15:26

5.梯度寻优的相关文章

梯度寻优 (二)

上接 梯度寻优 扩展: 机器学习中的几个概念的关系 梯度相关代码 逐次逼近法 问题 1: \(Ax = b\) 对于问题 1, 当 \(A\) 的阶数很大, 且零元素很多的大型稀疏矩阵方程组, 使用主元消去法求解将是一个很大的挑战. 为此, 逐次逼近法 (或称为迭代法) 应运而生. 下面我们来看看迭代法的具体操作: 首先将 \(Ax=b\) 改写为 \(x = Bx + f\), 使用公式: \[ x^{k+1} = Bx^k + f \] 其中 \(k\) 为迭代次数 \((k=0, 1, 2

梯度寻优与logistic算法

一.一些基本概念 最优化:在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优.高中学过的线性规划就是一类典型的最优化问题. 凸集:在集合空间中,凸集就是一个向四周凸起的图形.用数学语句描述就是:集合边界任意两点连线上的所有点都在这个集合内部. 超平面:能够用于切割已给集合的点集.数学公式为$X={x|c^T=z}$.它的意义在于能够将一个凸集分为两部分. 举例说明.对于二维空间,用一条直线划分给定的散点,则有$y - ax - b = 0 $.它就是一个超平面,“超”在b这个

梯度寻优

无论做任何事情,人们总是希望以最小的代价获取最大的利益,力求最好!为此,人们发明各式各样的数学工具:导数.积分等.现代优化理论大都来源于处理多元问题时导致的复杂性,它有三个重要的基础: 矩阵理论:矩阵是描述多元问题的最基本的工具,为多元问题分析和求解提供了基本的数据结构. 数值分析:导数和微分为多元问题分析和求解提供了基本的数学方法. 计算机:为多元问题分析和求解提供了基本的实践工具. 由此,一个最优化问题需要我们同时具备三种基本的能力:数学建模.公式推导.算法设计. 最优化的数学描述 \[ \