nealot

nealot

V2EX 第 298264 号会员,加入于 2018-03-08 21:13:44 +08:00
根据 nealot 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
nealot 最近回复了
@letv
@66beta
男方一边有老人生病了在疗养,女方一边不是独生子女,哥哥一家在怀孕准备生产的阶段,对照顾小孩的需求更强
@raycool 总觉得家里有个老人加保姆才比较靠谱

我比较好奇,真的有程序员 996 工作的同时,家里安排保姆打理剩下的所有事情吗
@xyd1205148795 正解,具体操作如下

首先选择一组 x,y,建立散点图
然后右键图表,选择数据,然后把所有的系列都删掉,这时会得到一张空图表
然后逐个添加系列,每个系列手动指定标题、x 轴范围、y 轴范围

这类图表,看起来是没法一键生成的
225 天前
回复了 nealot 创建的主题 程序员 如何为 B550 工作站挑选 ECC 内存
@20015jjw
正规的机架式服务器也并非全是优点

缺点 1 是噪音大,不适合放在办公室之类的环境下
缺点 2 是性价比低,双路 16 核报价应该有 4-5 万,但是至强主频低 (能效高),实际上性能可能和一颗 5950X 差不多
226 天前
回复了 nealot 创建的主题 程序员 如何为 B550 工作站挑选 ECC 内存
@jim9606 应该不是所有主板厂商都支持 ECC,比如 MSI 这款就不支持

https://cn.msi.com/Motherboard/MEG-B550-UNIFY/Specification
2020-09-07 09:30:07 +08:00
回复了 nealot 创建的主题 硬件 SOHO 环境多核工作站性价比分析: ThreadRipper 3970X vs Ryzen 3950X * 2
@20015jjw 3990X 和 3970X 的 TDP 同样是 280W,但是核数多了一倍,所以牺牲了主频 (单核性能)

一般的评测数据显示,3990X 大概是 3970X 的 1.5 倍性能,然而其京东自营售价高达 29999

同时要不缩水地,支持 3 块显卡和 3 条 NVME 硬盘,主板和电源的规格还需要增加,所以结论仍然不变
2020-08-22 15:17:45 +08:00
回复了 nealot 创建的主题 程序员 遗传算法生成的模型如何避免过拟合?
@VoidChen 感觉这是个比较好的解法,值得一试

打个比方,假设这个图像演化算法是用来生成美女的脸型的,第一个训练子集生成出来的是赵薇的脸,第二个训练子集输出的是刘亦菲的脸……

最后把这些明星脸平均一下,就是 “平均美人脸”,这个很可能就是最终需要的模型

(那么为什么不把训练集合在一起训练呢?我也不知道为什么,总之实验效果不好,毕竟这不是简单的加减算术题)
2020-08-22 12:53:13 +08:00
回复了 nealot 创建的主题 程序员 遗传算法生成的模型如何避免过拟合?
@shm7 验证集可以用来搜索最佳的模型生成参数。如果一定要套用到遗传算法上,我们是要让种群数量减小,演化次数减少,以便不进行充分的演化?这感觉和遗传算法的本意是相违背的
2020-08-22 12:15:48 +08:00
回复了 nealot 创建的主题 程序员 遗传算法生成的模型如何避免过拟合?
@Issacx 现在的核心问题,其实和具体业务是无关的。我来具体解释下矛盾在哪里

传统的机器学习任务,比如用决策树做分类,如果我们在 trainset 上建立一颗尽量精细的决策树 (model),然后把这个 model 用于 testset,通常效果是不太好的,因为有过拟合,这是个典型的错误

因为是典型的问题,所以也有典型的解法,对于决策树分类问题,解法是这样的:

我们把 trainset 分为两个子集: trainset_1_of_2, trainset_2_of_2

接下来的重点是,我们不是直接构建一个最佳的 model,而是构建一个最佳的 model 的生成参数 (比如 max_depth)

```C++
int best_depth = -1;
int best_score = -1;

for (int max_depth = 1; max_depth < 10; max_depth++) {
tree1 = construct(trainset_1_of_2, max_depth);
score1 = run(trainset_2_of_2, tree1);
tree2 = construct(trainset_2_of_2, max_depth);
score2 = run(trainset_1_of_2, tree2);
score = (score1 + score2) / 2;

if (score > best_score) {
best_score = score;
best_depth = max_depth;
}
}
```

这样我们就得到了 best_depth,然后在整个 trainset 上用这个参数来构建决策树

```C++
tree = construct(trainset, best_depth);
```

接下来这颗树在 testset 上效果就比较好了

但是如果我们搜索的,不是模型生成参数,而是模型本身 (使用遗传算法),这套方法还成立吗?

PS: 目前使用的是类似图像演化的遗传算法,得到是一个类似 BMP 的图像
2020-08-22 11:56:39 +08:00
回复了 nealot 创建的主题 程序员 遗传算法生成的模型如何避免过拟合?
@VoidChen 是类似图像演化的算法,可以参考这篇文章 https://chriscummins.cc/s/genetics/
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3888 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 08:19 · PVG 16:19 · LAX 01:19 · JFK 04:19
♥ Do have faith in what you're doing.