数学
万物琴弦光锥之外
复杂的世界需要简单的东西,专业不一定复杂,简单才是终极
展开
-
XGBoost,我看过的讲解很清晰得一篇博客
转载 2020-08-29 16:22:02 · 4262 阅读 · 0 评论 -
向上向下取整
//是向下取整,得到比自己的小的最大整数5/4 = 1.25 比1.25小的最大整数为1如果要向上取整呢?第一反应肯定就是,向下取整后+1呗!如下但是,如果a/b 中a/b得到的结果本身就为整数,那么岂不是多+1了?因此a/b向上取整可以表示为: (a+b-1)/b...原创 2020-08-19 15:26:58 · 661 阅读 · 0 评论 -
信息量,熵,交叉熵,KL散度的手写总结
大致过程首先上图,简单的神经网络:1 输出的y向量经过softmax变成概率分布向量也意味着,你只可能是属于1类,因为通常你选择最大概率对应的类别作为预测类别。但是实际中如果出现,人和女人这种类别,有包含关系,最好用逻辑回归。!注意:softmax 只有两种类别时候就是逻辑斯特回归!2 对应于真实的标签分布,计算交叉熵。注意: KL散度类似于"距离",但不是距离。距离定义是dist(a,b) = dist(b,a)。可以理解为KL是比较用q表示p的信息损失程度,越小越好,最小为0原创 2020-08-14 10:18:13 · 615 阅读 · 0 评论 -
分发糖果之解答
首先,我们从左到右遍历,只看右边的邻居,那么能保证右边的孩子大于左边的孩子的时候,右边的孩子一定会得到更多,得到left[]问题来了,那么万一左边的孩子比右边的高呢?那么就从右到左,一样来一次得到right[],但是然后呢?取对应位置的最大值,为什么是最大?因为满足两个条件才能满足题目的意思,也就是必须都满足!class Solution: def candy(self,ratings): if not ratings: return 0原创 2020-08-13 23:27:57 · 106 阅读 · 0 评论 -
24点游戏之思路
笛卡尔乘积,去掉i==j就是所有可能配对for i in range(len(nums)): for j in range(len(nums)): if i!=j: print((i,j)) 那么我们只要任选一组做±*/四种操作的一种'''选取除了(nums[i], nums[j])之外的数字组成列表'''leftChoices = [ x[k] for k in range(len(nums)) if k!=j!=i ]'''新的列表就是:'''[nums[i原创 2020-08-13 22:49:47 · 167 阅读 · 0 评论 -
矩阵的奇异值分解
1. 奇异值分解是什么?将非0矩阵, 分解成三个实矩阵的乘积A=UΣVTA = U\Sigma V^TA=UΣVT其中UUT=I,VVT=I,Σ是矩形对角矩阵,且对角元素非负UU^T=I,\quad VV^T=I,\quad \Sigma 是矩形对角矩阵,且对角元素非负UUT=I,VVT=I,Σ是矩形对角矩阵,且对角元素非负重点,正交矩阵U和V,矩形对角矩阵, 对角元素非负啥是矩形??对角矩阵?如图:2 那么A矩阵满足什么情况才有奇异值分解呢?只需要是实矩阵,就可以啦3 几何意义呢?原创 2020-08-07 23:18:15 · 936 阅读 · 0 评论