- 2024-10-11线性回归算法(Java)
手动实现线性回归(梯度下降法)1publicclassLinearRegressionGD{2privatedoublelearningRate;3privateintiterations;4privatedoubleslope;5privatedoubleintercept;67publicLinearRegressionGD(doublelearningRate,
- 2024-10-05斜率优化 DP
斜率优化DP在单调队列优化过程中,转移方程被拆成了两部分,第一部分仅与\(j\)有关,而另一部分仅与\(i\)有关,因此我们可以利用单调队列仅维护与\(j\)有关的部分,实现问题的快速求解。但仍然有很多转移方程,\(i\)和\(j\)是紧密相关的,这个时候单调队列优化就不适用了,例如如下转
- 2024-09-28斜优小记
一个启发是,对于一个\(i\)的两个转移\(j,k\),比较\(j\)与\(k\)的转移优劣。可以用斜率优化的场景:对比后可以分拆出\(slope(j,k)\le\texttt{只和i相关的一些东西}\)的形式。例如P3195,首先写出转移方程\(dp_i=\min\limits_{0\lej<i}\{dp_j+(s_i-s_j+i-j-1-L)^2\}\)比
- 2024-09-10C# 在给定斜率的线上找到给定距离处的点(Find points at a given distance on a line of given slope)
给定二维点p(x0,y0)的坐标。找到距离该点L的点,使得连接这些点所形成的线的斜率为M。例子: 输入:p=(2,1) L=sqrt(2) M=1输出:3,2 1,0解释:与源的距离为sqrt(2),并具有所需的斜率m=1。输入:p=(1,0)
- 2024-08-03动态规划学习笔记
P3195求出玩具的前缀和\(S\)。设\(f_i\)表示区间\([1,i]\)的最大答案。开始应该是\(f_0=0\)。\(f_i=\max_{1\lej<i}f_j+(i+S_i-L-1-(j+S_j))^2\)。\(f_i=\max_{1\lej<i}f_j+(i+S_i-L-1)^2+(j+S_j)^2-2(i+S_i-L-1)(j+S_j)\)。设\(g_i=i+S_i,k=L+1\),那么\(f_
- 2024-07-26C++ primer plus 第16章string 类和标准模板库, 函数对象
C++primerplus第16章string类和标准模板库,函数对象C++primerplus第16章string类和标准模板库,函数对象文章目录C++primerplus第16章string类和标准模板库,函数对象16.5函数对象16.5函数对象很多STL算法都使用函数对象–也叫函数符(fiunctor)。
- 2024-06-05监督学习
一.线性回归算法监督学习算法是机器学习领域中的一个重要分支,其核心思想是通过已知的输入和输出数据样本(通常被称为训练数据集)来学习一个模型(也称为学习器),然后利用这个模型对未知的数据进行预测或分类。下面是对监督学习算法的更详细解释:1.基本概念:监督学习算法是建立在有标记
- 2024-05-19【Quant102】如何计算 N 日斜率
一元线性回归的斜率公式是:\[k=\frac{(x-\bar{x})^T(y-\bar{y})}{\|x-\bar{x}\|^2}\]由于斜率具有平移不变性,x通常取0到窗口大小减一。defslope(df,close_col='close',slope_col='slope',window=5,inplace=True):ifnotinplace:df=df.copy()x=n
- 2024-03-02AT_dp_z Frog 3 题解
这题的朴素dp是显然的。令\(dp_i\)表示跳到第\(i\)个石头的最小花费,有转移方程:\[dp_i=\min_{j=1}^{i-1}\{dp_j+(h_i-h_j)^2+C\}\]直接转移是\(O(n^2)\)的,考虑优化。首先对于\(\min\)以内的式子化简,得:\[dp_j+h_i^2+h_j^2-2h_ih_j+C\]将与\(j\)无关的项剔除,得:\[d
- 2024-02-26Slope trick 学习笔记
博客传送门Slopetrick的定义Slopetrick是一种通过分析DP函数在转移时的斜率变化来优化转移的技巧。通常来说,被维护的函数图像是离散的凸函数,Slopetrick会维护函数的斜率或者斜率的差分。维护凸函数主要有以下几个优点:方便维护形如\(dp'[i]\leftarrow\max(dp[i],dp
- 2024-02-19P3195
P3195斜率优化暴力转移:\(f(i)\)表示考虑到第\(i\)个玩具达成的最小费用\(f(i)=min(f(j)+(i-j+\sum_{j+1}^{i}c-L)^2)\)设\(s_i=\sum_1^i+i\)\(f(i)=min(f(j)+(s_i-s_j-1-L)^2)\)不妨设\(L=L+1\)\(f(i)=min(f(j)+(s_i-
- 2024-02-16Slope Trick 总结
SlopeTrick总结注意:SlopeTrick并不是斜率优化,斜率优化的英文是ConvexHullTrick。算法适用性SlopeTrick通常用于维护具有如下性质的函数:连续。是分段一次函数。是凸函数。每一段的斜率较小(通常为\(O(n)\)),且均为整数。常常用于优化动态规划。不失一般性,约定本
- 2024-02-14slope trick
slopetrick对于一类DP问题,DP状态是二维的\(f_{i,j}\),且\(f_i\)可以看作一个关于\(j\)的线性的连续凸分段函数转移时可以直接维护这个函数而优化复杂度维护操作以下凸函数为例我们维护第一段函数的斜率\(k\),用数据结构维护出斜率每变化\(1\)时的转折点的可重集注
- 2024-01-19笔记重修计划一:斜率优化 dp & cdq 分治维护凸包(施工中)
施工中,但是目前暂停施工。前言刷cdq分治的时候做到了这题,发现自己不是很懂这个东西,跑回去看自己几个月前写的斜率优化dp笔记,当时认为自己弄得很明白了,但现在看来简直就是皮毛,遂弄明白后写下此文,希望自己之后有更多启发时能继续充实这篇文章。若有不妥之处望指出。如果单调
- 2023-08-24slope trick
slopetrick概述在\(dp\)过程中,可以维护凸函数的方法,要求\(dp\)值呈凸函数且其斜率均为整数。具体来说,是记录凸函数斜率的变化值,即在什么位置斜率\(\plusmn1\),例如凸函数\(f(x)=|x|\),它由一条斜率为\(-1\)和一条斜率为\(1\)的射线在\(0\)点处相连,那么在零点处斜
- 2023-08-07Slope Trick 学习笔记
SlopeTrick学习笔记看算法名的时候还以为就是斜率优化一种维护DP的方法,需要满足DP式与斜率修改关系较大,比如:$$f_{i,j}=\min_{k<=j}(f_k)+|a_i-j|$$可以发现\(f_i\)关于\(j\)的函数为凸函数,其斜率为正的部分显然没有必要保留令\(g_i=|a_i-j|\),\(g_i\)关于\(j\)
- 2023-02-25Slope Trick
原理若一个函数满足:连续分段线性凸性则可以使用SlopeTrick来快速维护。我们发现我们可以仅通过记录转折点,转折点处斜率变化,以及一侧的直线即可维护出整个函数。
- 2023-02-24Slope Trick
定义本质上是用一个二元组\((S,f(x))\)描述由一堆直线构成的分段函数去优化dp,要求这些分段函数满足凸性。其中\(S\)是一个可重集,\(f(x)\)是一个一次函数。我们定义
- 2023-02-05Slope trick 学习笔记
Slopetrick学习笔记概述Slopetrick是一种维护凸函数优化dp的方式。通过记录函数的转折点和最右段的一次函数,就可以表示出一个凸函数。一个转折点\(x\)表示在\(
- 2022-11-28拓端tecdat|R语言编程指导中的Theil-Sen回归分析
R语言中的Theil-Sen回归分析 Theil-Sen估计器是一种在社会科学中不常用的简单线性回归估计器 。三个步骤:在数据中所有点之间绘制一条线计算
- 2022-11-10为你的DHTML添活力
作者:PhillipPerkins*purpleendurer修正了原文中的一些错误你可以通过IE为你的HTML元素添加行为,建立面向对象的页面设计方法。PhillipPerkins建立了一个<DIV>对象,当用户
- 2022-11-02一元线性回归代码实现
在代码中需要去分析一些数据,就用到了线性回归方程,关键是最小二乘根据公式把代码实现了一下,虽然可以用别人封装好的函数实现,但还是想自己写出来强化记忆#-*-coding:ut