IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 集成学习-数学基础 -> 正文阅读

[人工智能]集成学习-数学基础

作业打卡

研究Rosenbrock函数,其定义为 f = ( x 1 ? a ) 2 + ( x 2 ? x 1 2 ) 2 f = (x_1-a)^{2} +(x_2-x_1^2)^2 f=(x1??a)2+(x2??x12?)2

问题一:
a,b的选择会对函数的凹凸性会产生很大的变化,但是函数的大体形状不变。

问题二:求解最优解采用的最速下降法,初始点为(1,1).

import numpy as np
import matplotlib.pyplot as plt
def f(x1,x2,a,b):
    return (a-x1)**2 + b*(x2-x1**2)**2

def GetGradient(prex,a,b):
    x1 = prex[0]
    x2 = prex[1]
    return np.array([2*(x1-a)+4*b*x1*(x1**2-x2), 2*b*(x2-x1**2)])
def Getminpoint(x1,x2,a,b):
    mu = 0.01
    prex = np.array([x1,x2])
    prey = f(prex[0],prex[1],a,b)
    nowx = prex - mu*GetGradient(prex,a,b)
    nowy = f(nowx[0],nowx[1],a,b)
    epoch = 0
    while (nowy-prey)< 0.001 :
        prex =  nowx
        prey = nowy
        nowx = prex - mu*GetGradient(prex,a,b)
        nowy = f(nowx[0],nowx[1],a,b)
        epoch += 1
        if  epoch > 20:
            break
    return (nowx,nowy)

for a in [0,4,8,12]:
    for b in [-8,0,8,16]:
        fig = plt.figure()
        ax = plt.axes(projection='3d')
        minxy,minz = Getminpoint(1,1,a,b)
        ax.scatter(minxy[0],minxy[1],minz,c="red",zorder= 0,marker='o',s=100)

        x = np.linspace(minxy[0]-12,minxy[0]+12,30)
        y = np.linspace(minxy[1]-12,minxy[1]+12,30)
        X, Y = np.meshgrid(x, y)
        Z = f(X,Y,a,b)

       
        ax.plot_surface(X, Y, Z, cmap='viridis',zorder= 1)
        ax.set_xlabel('x')
        ax.set_ylabel('y')
        ax.set_zlabel('z')
        #调整观察角度和方位角。这里将俯仰角设为60度,把方位角调整为35度
        ax.view_init(60, 35)
        plt.savefig(r"C:\Users\huangjianguo\Desktop\SelfStudy\ensemble-learning-main\CH1-机器学习的数学基础\CH1-机器学习的数学基础\阶段一作业\a=%f,b=%f.jpg"%(a,b))
        print("%f,%f"%(a,b))
  

a=0,b=8

a=0,b=8

a=0,b=-8

a=0,b=-8

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:42:30  更:2021-08-18 12:43:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/1 12:39:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码