- 要理解梯度下降和牛顿迭代法的区别 #include<stdio.h> // 1. 线性多维函数原型是 y = f(x1,x2,x3) = a * x1 + b * x2 + c * x3 // // 2. 用牛顿迭代法(或者梯度下降) 对 f(x1, x2, x3) 做求解. // 即找到一组[a,b,c], 使得: argMin E[(f(x1,x2,x3) - y)^2]. 其中E为sigma.这个loss func就是最小二乘法 int main() { ] = {0.2118172…
传送门 要求维护每个点上出现次数最多的颜色. 对于每次修改,我们用树上差分的思想,然后线段树合并统计答案就行了. 注意颜色很大需要离散化. 代码: #include<bits/stdc++.h> #define N 100005 #define Max 100000 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); while(isdigi…
传送门 一道烂大街的dsu on tree板题. 感觉挺有趣的^_^ 代码真心简单啊! 就是先处理轻儿子,然后处理重儿子,其中处理轻儿子后需要手动消除影响. 代码: #include<bits/stdc++.h> #define N 100005 #define ll long long using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); w…
传送门 fft模板题. 终于学会fft了. 这个方法真是神奇! 经过试验发现手写的complex快得多啊! 代码: #include<iostream> #include<cstdio> #include<cmath> #define N 10000005 using namespace std; inline int read(){ int ans=0,w=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-…
传送门 一道斜率优化dp入门题. 是这样的没错... 我们用dis[i]表示i到第三个锯木厂的距离,sum[i]表示前i棵树的总重量,w[i]为第i棵树的重量,于是发现如果令第一个锯木厂地址为i,第二个地址为j,则有 total=[∑i=1ndis[i]∗w[i]]−dis[i]∗w[i]−dis[j]∗(sum[j]−sum[i])" role="presentation" style="position: relative;">total=[∑n…
传送门 题目就是要求维护带权重心. 因此破题的关键点自然就是带权重心的性质. 这时发现直接找带权重心是O(n)的,考虑优化方案. 发现点分树的树高是logn级别的,并且对于以u为根的树,带权重心要么就是u,要么存在于u的某一个儿子为根的子树中. 由于带权重心只有一个,因此只需要从根节点开始向下跳,跳不动了就是答案. 代码: #include<bits/stdc++.h> #define N 100005 #define ll long long using namespace std; inl…
描述 中学数学里集合的元素往往是具体的数字,比如A = {1,2,3},B = {}(空集)等等.但是要特别注意,集合的元素也可以是另一个集合,比如说C = {{}},即说明C有且仅有一个元素--空集B,所以称B是C的子集或者称B是C的元素都是正确的.所谓一个集合的势,就是这个集合的元素个数,一般记为|S|,空集的势为0.在上例中,|A| = 3,|B| = 0,|C| = 1. 鉴于集合论是现代数学的基础理论这一事实,一群异想天开的科学家开始着手建造一台新式的超级计算机--集合堆栈机Alpha…
在<机器学习---线性回归(Machine Learning Linear Regression)>一文中,我们主要介绍了最小二乘线性回归算法以及简单地介绍了梯度下降法.现在,让我们来实践一下吧. 先来回顾一下用最小二乘法求解参数的公式:. (其中:,,) 再来看一下随机梯度下降法(Stochastic Gradient Descent)的算法步骤: 除了算法中所需的超参数α(学习速率,代码中写为lr)和epsilon(误差值),我们增加了另一个超参数epoch(迭代次数).此外,为方便起见,…
上周在实验室里师姐说了这么一个问题,对于线性回归问题,最小二乘法和梯度下降方法所求得的权重值是一致的,对此我颇有不同观点.如果说这两个解决问题的方法的等价性的确可以根据数学公式来证明,但是很明显的这个说法是否真正的成立其实很有其它的一些考虑因素在里面,以下给出我个人的一些观点: 1. 首先,在讨论最小二乘法和梯度下降对某数据集进行线性拟合的结果是否相同的问题之前,我们应该需要确保该数据集合的确符合线性模型,如果不符合那么得出的结果将会是非常有意思的, 该种情况在之前的博客中已有介绍,下面给出网址…
grad_desc .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .tab…