当前位置: 首页 > wzjs >正文

建设电商网站的技术可行性怎么营销推广

建设电商网站的技术可行性,怎么营销推广,东莞保安公司联系电话,空间设计和室内设计的区别Optimization Algorithms Explained 1. Beale Function 与导数函数讲解 Beale 函数是一个著名的用于测试优化算法性能的函数,其具有多个局部极值点,适合评估不同优化器的表现: def beale(x1, x2):"""Beale 函数定义&#x…

Optimization Algorithms Explained

1. Beale Function 与导数函数讲解

Beale 函数是一个著名的用于测试优化算法性能的函数,其具有多个局部极值点,适合评估不同优化器的表现:

def beale(x1, x2):"""Beale 函数定义:f(x1, x2) = (1.5 - x1 + x1*x2)^2 + (2.25 - x1 + x1*x2^2)^2 + (2.625 - x1 + x1*x2^3)^2参数:x1 (float or array): 第一个变量x2 (float or array): 第二个变量返回:函数值(float or array)"""return (1.5 - x1 + x1*x2)**2 + (2.25 - x1 + x1*x2**2)**2 + (2.625 - x1 + x1*x2**3)**2def dbeale_dx(x1, x2):"""Beale 函数的一阶偏导:返回 [df/dx1, df/dx2]。用于梯度下降算法中。参数:x1 (float): 当前 x1 位置x2 (float): 当前 x2 位置返回:dfdx1 (float): 对 x1 的偏导dfdx2 (float): 对 x2 的偏导"""dfdx1 = 2*(1.5 - x1 + x1*x2)*(x2-1) + \2*(2.25 - x1 + x1*x2**2)*(x2**2-1) + \2*(2.625 - x1 + x1*x2**3)*(x2**3-1)dfdx2 = 2*(1.5 - x1 + x1*x2)*x1 + \2*(2.25 - x1 + x1*x2**2)*(2*x1*x2) + \2*(2.625 - x1 + x1*x2**3)*(3*x1*x2**2)return dfdx1, dfdx2

调用方式说明:

x = np.array([1.0, 1.5])
dfdx = dbeale_dx(*x)  # *x 解包为 x1, x2

这个解包调用方式是标准的 Python 用法,等价于 dbeale_dx(x[0], x[1])

2. Momentum 优化器逐行讲解

Momentum 方法在普通梯度下降基础上引入了动量项,公式如下:

  • 公式 (1): v t = γ v t − 1 − η ∇ f ( θ ) v_t = \gamma v_{t-1} - \eta \nabla f(\theta) vt=γvt1ηf(θ)
  • 公式 (2): θ = θ + v t \theta = \theta + v_t θ=θ+vt

代码实现:

def gd_momentum(df_dx, x0, conf_para=None):"""Momentum 优化器参数:df_dx: 梯度函数,形式为 df_dx(x1, x2),返回 (df/dx1, df/dx2)x0: 初始参数位置 (array)conf_para: 字典,包含如下超参数:- n_iter: 迭代次数- learning_rate: 学习率 η- momentum: 动量参数 γ返回:x_traj: 参数更新轨迹"""if conf_para is None:conf_para = {}conf_para.setdefault('n_iter', 1000)conf_para.setdefault('learning_rate', 0.001)conf_para.setdefault('momentum', 0.9)x_traj = [x0]  # 保存轨迹v = np.zeros_like(x0)  # 初始化速度向量 v0 = 0for _ in range(conf_para['n_iter']):dfdx = np.array(df_dx(*x_traj[-1]))v = conf_para['momentum'] * v - conf_para['learning_rate'] * dfdx  # 公式 (1)x_traj.append(x_traj[-1] + v)  # 公式 (2)return x_traj

3. Nesterov Accelerated Gradient 讲解

Nesterov 方法在计算梯度时先 “预判” 一步跳跃位置,公式如下:

  • 公式 (3): θ ^ = θ + v t − 1 \hat{\theta} = \theta + v_{t-1} θ^=θ+vt1
  • 公式 (4): v t = γ v t − 1 − η ∇ f ( θ ^ ) v_t = \gamma v_{t-1} - \eta \nabla f(\hat{\theta}) vt=γvt1ηf(θ^)
  • 公式 (5): θ = θ + v t \theta = \theta + v_t θ=θ+vt
def gd_nesterov(df_dx, x0, conf_para=None):"""Nesterov 加速梯度方法参数:df_dx: 梯度函数x0: 初始参数位置conf_para: 参数字典(n_iter, learning_rate, momentum)返回:x_traj: 参数更新轨迹"""if conf_para is None:conf_para = {}conf_para.setdefault('n_iter', 1000)conf_para.setdefault('learning_rate', 0.001)conf_para.setdefault('momentum', 0.9)x_traj = [x0]v = np.zeros_like(x0)for _ in range(conf_para['n_iter']):x_jump = x_traj[-1] + v  # 公式 (3)dfdx = np.array(df_dx(*x_jump))  # 在跳跃位置计算梯度 ∇f(θ + v)v = conf_para['momentum'] * v - conf_para['learning_rate'] * dfdx  # 公式 (4)x_traj.append(x_traj[-1] + v)  # 公式 (5)return x_traj

4. AdaGrad 讲解

AdaGrad 通过累积历史梯度的平方来自适应地缩小学习率,公式如下:

  • r t = r t − 1 + ∇ f ( θ ) 2 r_t = r_{t-1} + \nabla f(\theta)^2 rt=rt1+f(θ)2
  • θ = θ − η r t + ϵ ∇ f ( θ ) \theta = \theta - \frac{\eta}{\sqrt{r_t} + \epsilon} \nabla f(\theta) θ=θrt +ϵηf(θ)
def gd_adagrad(df_dx, x0, conf_para=None):"""AdaGrad 自适应梯度优化器参数:df_dx: 梯度函数x0: 初始参数位置conf_para: 参数字典,包含 learning_rate, epsilon, n_iter返回:x_traj: 参数轨迹"""if conf_para is None:conf_para = {}conf_para.setdefault('n_iter', 1000)conf_para.setdefault('learning_rate', 0.001)conf_para.setdefault('epsilon', 1e-7)x_traj = [x0]r = np.zeros_like(x0)for _ in range(conf_para['n_iter']):dfdx = np.array(df_dx(*x_traj[-1]))r += dfdx**2  # 累积平方梯度x_traj.append(x_traj[-1] - conf_para['learning_rate'] * dfdx / (np.sqrt(r) + conf_para['epsilon']))return x_traj

5. RMSProp 讲解

RMSProp 是 AdaGrad 的改进,引入滑动平均:

  • r t = γ r t − 1 + ( 1 − γ ) ∇ f ( θ ) 2 r_t = \gamma r_{t-1} + (1-\gamma) \nabla f(\theta)^2 rt=γrt1+(1γ)f(θ)2
  • θ = θ − η r t + ϵ ∇ f ( θ ) \theta = \theta - \frac{\eta}{\sqrt{r_t} + \epsilon} \nabla f(\theta) θ=θrt +ϵηf(θ)
def gd_rmsprop(df_dx, x0, conf_para=None):"""RMSProp 优化器参数:df_dx: 梯度函数x0: 初始值conf_para: 参数字典,包括 gamma, learning_rate, epsilon"""if conf_para is None:conf_para = {}conf_para.setdefault('n_iter', 1000)conf_para.setdefault('learning_rate', 0.001)conf_para.setdefault('epsilon', 1e-7)conf_para.setdefault('gamma', 0.9)x_traj = [x0]r = np.zeros_like(x0)for _ in range(conf_para['n_iter']):dfdx = np.array(df_dx(*x_traj[-1]))r = conf_para['gamma'] * r + (1 - conf_para['gamma']) * dfdx**2x_traj.append(x_traj[-1] - conf_para['learning_rate'] * dfdx / (np.sqrt(r) + conf_para['epsilon']))return x_traj

6. Adam 讲解

Adam 同时融合了 Momentum 和 RMSProp 的优点:

  • 一阶动量: s t = β 1 s t − 1 + ( 1 − β 1 ) ∇ f ( θ ) s_t = \beta_1 s_{t-1} + (1-\beta_1) \nabla f(\theta) st=β1st1+(1β1)f(θ)
  • 二阶动量: r t = β 2 r t − 1 + ( 1 − β 2 ) ∇ f ( θ ) 2 r_t = \beta_2 r_{t-1} + (1-\beta_2) \nabla f(\theta)^2 rt=β2rt1+(1β2)f(θ)2
  • 偏差修正: s ^ t = s t 1 − β 1 t , r ^ t = r t 1 − β 2 t \hat{s}_t = \frac{s_t}{1 - \beta_1^t}, \hat{r}_t = \frac{r_t}{1 - \beta_2^t} s^t=1β1tst,r^t=1β2trt
  • 参数更新: θ = θ − η s ^ t r ^ t + ϵ \theta = \theta - \eta \frac{\hat{s}_t}{\sqrt{\hat{r}_t} + \epsilon} θ=θηr^t +ϵs^t
def gd_adam(df_dx, x0, conf_para=None):"""Adam 优化器参数:df_dx: 梯度函数x0: 初始位置conf_para: 包含 rho1, rho2, epsilon, learning_rate"""if conf_para is None:conf_para = {}conf_para.setdefault('n_iter', 1000)conf_para.setdefault('learning_rate', 0.001)conf_para.setdefault('rho1', 0.9)conf_para.setdefault('rho2', 0.999)conf_para.setdefault('epsilon', 1e-8)x_traj = [x0]t = 0s = np.zeros_like(x0)r = np.zeros_like(x0)for _ in range(conf_para['n_iter']):dfdx = np.array(df_dx(*x_traj[-1]))t += 1s = conf_para['rho1'] * s + (1 - conf_para['rho1']) * dfdxr = conf_para['rho2'] * r + (1 - conf_para['rho2']) * (dfdx**2)st = s / (1 - conf_para['rho1']**t)rt = r / (1 - conf_para['rho2']**t)x_traj.append(x_traj[-1] - conf_para['learning_rate'] * st / (np.sqrt(rt) + conf_para['epsilon']))return x_traj
http://www.dtcms.com/wzjs/356736.html

相关文章:

  • 网站制作公司电话高质量内容的重要性
  • 高端的食品行业网站开发网站推广的主要方法
  • 幼儿园建设网站意义搜索关键词排名一般按照什么收费
  • 个人网站可以做app吗怎样免费推广自己的网站
  • 做批发的网站有哪些色盲测试卡
  • 帝国做的网站根目录百度后台登录
  • 营销技巧第一季无删减seo知识培训
  • 奉贤网站建设网站制作个人网站制作源代码
  • 直销系统开发教程视频优化是什么意思
  • 江苏品牌网站建设电话十大营销模式
  • 北京哪里有网站建设设计新媒体运营工作是什么
  • 北京做网站建设的公司推广网络公司
  • 静态网站系统成人英语培训班哪个机构好
  • 山东网站建设哪家好小红书信息流广告投放
  • 南昌建设医院官方网站seo关键词搜索和优化
  • 网站运行维护方案软文代写发布网络
  • 网站页面架构图外链发布工具
  • 上海工商网站官网网站建设开发外包公司
  • 北京seo网站管理自己可以做网站吗
  • zen cart 网站google plus建站平台哪家好
  • 怎么做服务器网站吗工具seo
  • 做网站如何报价广州百度seo优化排名
  • 网站名称不能涉及全球搜索网站排名
  • 176网站入口湖南靠谱的关键词优化哪家好
  • 海口做网站公司那家好seo搜索培训
  • 建网站要多少钱关键词排名批量查询
  • 正规品牌网站设计品牌中国seo排行榜
  • 网站没备案可以做商城吗上海seo推广整站
  • 怎么做网站代码东莞网站优化
  • 直播的网站开发谷歌seo 优化