2 D.Fu

尚未进行身份认证

试问岭南应不好,却道此心安处是吾乡

等级
TA的排名 8w+

降维——PCA

降维是机器学习中对数据的一种处理方法,目的是使数据变得易于处理,和数据可视化,提取有效信息摒弃无效信息。比如,你将要处理一组数据,这个数据每个样本都有几十个维度,当你对这组数据进行降维处理后每个样本变成了三维甚至是一维(也就是说用一维数据或者三维数据来表示这个样本),这时在对这个数据进行处理就会方便很多。同时你在压缩时也要考虑数据的有效性,意思是:在压缩数据后有效信息应尽可能地多,不能在进行降维...

2019-04-12 17:27:19

梯度下降的向量法(矩阵法)推导总结

梯度下降向量化推导再看了一篇博客后,了解了梯度下降向量化的推导公式,所以便写篇博客记录一下,加深一些记忆。首先,对于输入矩阵X为n*m的矩阵所以预测值为y^\widehat{y}y​:MSE=12∗(y^−y)2=12(Xω−y)2\frac{1}{2}*(\widehat{y}-y)^2=\frac{1}{2}(X\omega-y)^221​∗(y​−y)2=21​(Xω−y)2...

2019-04-06 11:55:42

矩阵分解学习总结+python代码

矩阵分解常作为推荐系统中一个比较常用的方法,在传统的svd分解中,矩阵分解是把一个Rm×n=Mm×mΣUn×nTR_{m×n}=M_{m\times m}\Sigma U_{n\times n}^{T}Rm×n​=Mm×m​ΣUn×nT​对于M矩阵来说是RRTRR^TRRT ,而对于N是RTRR^TRRTR 的特征向量。但是R为稀疏矩阵(因为在用户的矩阵中部分用户对于部分物品是没有评分的...

2019-03-29 18:30:01

BPR 学习小结

前天学习了贝叶斯个性化推荐,现在写篇博客来总结一下知识点,说是总结,其实也就是把里面的公式抄一下,说说其中的思想以及python代码的实现首先,贝叶斯个性化推荐是基于矩阵分解来做的,都是把USER-ITEM矩阵分解为一个user-k,一个item-k的矩阵的乘机形式,唯一不同的是BPR利用了贝叶斯定理的形式来处理这个矩阵,也就是P(θ∣>u)=P(θ∣>u)P(θ)...

2019-03-28 18:27:37

poj 1456 并查集&贪心

题意是,告诉你每个货物的利润和截止日期,让你求在最后一件货物过期前的最大利润。分析:要想求最大利润,那么每一时间单位都只需要卖出最大利润的货物就可以,如果冲突,就是要并查集来快速查找上一个不矛盾点,来放置。代码:#include<stdio.h>#include<algorithm>#include<stdlib.h>#include<...

2019-02-28 22:17:58

poj 1417 种类并查集+普通dp

题意就是:现在这里有两群人,一群人只会说真话,另一群人只会说假话,但你不知道这些人中哪些是说真话的,所以你就去问,然后得出一些信息,其中你只问了是不是说真话的人这一个问题。现在让你去判断这两群人中哪些人是说真话的,如果可以判断请按照升序把说真话的人的编号说出,如果不能,输出no分析:首先对于这道题,我们可以很明显的看出这是一个牵扯到分类的问题,所以要有使用并查集的意识,然后就是去思考如何判断哪...

2019-02-27 10:26:17

并查集-poj2236

题意是:给你一个坐标系,坐标系上有多个点。然后在每回合都会给你一个信息,这个信息可以是告诉你那个点是可用的,也可以是询问你某两个点之间是否可以相连。相连的前提为:两个点都是可用的。两点相连分为直接相连或者通过其他可用点来连接。分析:首先我们要先去判断这两个点是否是可用点,如果不是可用点直接fail就好,然后再去判断这两个点是不是在同一个集合里面,如果在同一个集合就代表这两个点是可以相互连接的,...

2019-02-17 11:51:18

light oj 1341 唯一性分解【数论入门】

题意就是:给你两个数,然后让你去求第一个数分解的因子对数,其中要求因子对中的任意两个数都必须大于第二个数,声明对于(2,6)和(6,2)是一个因子对。分析:先利用唯一性分解的方法对第一个数进行分解,然后根据定理这个数的因子个数为(1+a1)(1+a2)。。。(1+an)然后再除以2得到因子对个数,再根据第二个数来减去相应的值。对于这道题主要是学习到了唯一性定理中关于因子个数的计算,这一点是我所...

2019-02-07 21:21:13

light oj 1370 欧拉函数【数论入门】【模板题】

题意大致就是:给你几个数字,要你算出每个数字的欧拉函数值相加代码:#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int maxn=1e6+10;int eu[maxn];int r...

2019-02-06 12:29:14

codeforces #535 D题 DIVERSE garland 简单dp

题意就是给你一个手环的颜色顺序,现在定义要求每个珠子跟两侧的珠子颜色都不一样时,这个手环被定义被diverse garland,分析:很自然应该想到深搜的这样一种处理思路,但是因为题目要求数据量是2*10^5所以,这样做很明显是会超时的,因此,就要想到这一类问题的另一个求解方法:简单dp,使用简单dp'的方法就是把你递归的过程转换成dp比较的过程。举个例子,在这道问题中,如果你是用深搜的方式来...

2019-01-31 17:00:34

codeforces #535 div3 c题

题意大致就是给你一个字符串序列,这个字符串是一个手环的展开,其中规定跟当前珠子距离2个单位的珠子跟当前位颜色相同的手环是好手环,现在给你一个手环,请你改变其中的珠子颜色使其成为好手环,颜色只有红黄蓝三种。分析:从题意可以看出,要求每相隔两个单位的珠子颜色要求一样,则表明是把手环分成了三个珠子为一个段的分段和;    那么在处理这道题时就可以采用一个暴力模拟的过程,自己先设定一个颜色序,因为...

2019-01-28 12:40:52

code forces 529#div3 c

好久没敲过代码了,今天补一道简单的思维题来练练手题意就是给你一个数n为你是否可以用k个2的次幂的和组成这个数n比如 n=9,k=4 那么答案就是用1 2 2 4 这四个2的次幂来组成9思路 对于这种简单的数据拆分的问题在数据量不大的情况下是可以逐个模拟的所以这道题的思路就是:建立一个k个单位的数组,每个数组元素都设定初始值为1,那么让这k个元素依次以2的幂的形式来累加,看看最后是否可...

2019-01-12 12:13:12

codeforces 529div3 problem D

题意是给你一个有向环,让你根据给你的信息求出这个环的序列,给你的信息是这个节点的下面的两个节点思路:首先应该想到是搜索的方法,在深搜过程中,传递一个当前的节点,和祖宗节点,祖宗节点的作用是确保当前节点的下一个节点也在祖宗节点的后连个节点中,然后就是确保有向,这个我用的是path数组,来维护有向关系,如果dfs返回true,就标记当前孩子节点是由当前节点传递而来。代码:(如果被hack,我再...

2018-12-28 09:37:15

cf 529div3 A Repeating Cipher

Polycarp loves ciphers. He has invented his own cipher called repeating.Repeating cipher is used for strings. To encrypt the string s=s1s2…sms=s1s2…sm (1≤m≤101≤m≤10), Polycarp uses the following alg...

2018-12-28 09:29:59

hdu3085 双向bfs

题意就是给你一个图,图里'.'表示可走,’x'表示墙,‘z'表示怪物,怪物每秒可以向外分裂两个单位,现在你和你的女朋友被困在这个地图里,你每秒可以移动三个单位,你女朋友每秒可以移动一个单位,每一秒,怪物先分裂,然后你们才开始移动,问:你们是否可以在被鬼怪抓到前,相遇?思路:双向bfs 一个广搜男生的路线,另一个广搜女生的路线,对于男生每秒可以移动三个单位意思是最多移动三个单位,哎,我当初就是这...

2018-12-19 08:36:06

ZOJ2477 IDA*搜索进阶

问题大意就是给你一个魔方,让你在五步之内还原这个魔方,这个魔方只能让每个面进行顺时针或者逆时针操作,问能否在五步内解决战斗,如果可以,请输出每一步转动的面,以及是逆时针还是顺时针。分析:对于这个问题,核心在于如何魔方的转动,以及预估函数的判断;  关于预估函数,我的观点是当你想出正确的模拟转动过程后这个预估函数也就很好写了,所以先对魔方转动模拟的分析:首先可以知道每转动一次都会有20个方块改变...

2018-12-11 23:08:48

hdu1560 IDA* 进阶搜索

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1560题意大致就是:给你几个字符序列,然后问你一个最短的序列的长度:这个序列要可以组成那几个字符序列思路:我一开始想的是双拓扑排序来构建优先关系,但后来失败了。          这道题的思路其实可以理解为一种模拟,假设这里有一个长度为deep的区间,(deep为之前序列的最长的长度)那么...

2018-12-04 15:49:37

cf 1077c 二分

题意大致就是给你一个数组,让你移除几个数使得这个数组成为好数组,好数组定义是其中一个数等于剩下数的和因为这道题被hack,导致cf又扣了10分,

2018-12-02 12:03:07

hdu3533 进阶搜索 bfs ESCAPE

题意就是在一个m*n的地图上,有k个堡垒,每个堡垒都会想一个固定的方向射箭,现在问你能否在给定的体力下从(0,0)走到(m,n),分析:其实这题的难点在于如何判定你当前走到的点是否有箭,一开始我想的是预处理,在输入每一个堡垒时,就对它的箭的路线进行标记,但是后来发现这样很难对两个箭相遇时处理,于是就换成了当你走到某一格时,去四个方向找堡垒看看它是否有射向那个点的键以及能否射中。这个代码一开...

2018-12-02 10:59:19

清华大学 上机复试 成绩排序 简单排序

赛题网站:https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1?tpId=40&tqId=21333&tPage=1&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan/question-ranking思路:就是简单的用两个自定义比较函数,还有一点就是输入是多...

2018-11-27 21:12:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!