《搞定I——无压工作的艺术》

你需要在心底确定,目前正在进行的事情正是你所需要做的事情。

  • 轻松自如地控制一切的关键是: (1) 明确判定工作的预期结果 (目标)以及为达成结果而需要执行的下一步具体行动; (2)把一切尚待解决的工作的提示信息安置在一个安全可靠的系统中, 并定期回顾和检查。其实整本书说的都是一个宗旨:明确目标并立刻付诸行动。

  • 放松精神、远离烦恼是成功秘诀。

  • 焦虑是由于缺乏控制力、组织整理,以及缺少准备和行动不足导致的。

  • 通过行动使自己感觉良好, 要比通过使自己感觉良来进入行动状态容易的多。

  • 良好的个人工作处理系统不代表有自制力执行它。(我自己说的)

《Effective C++》第四部分:设计和声明

条款18:让接口容易被正确使用,不易被误用

摘要

  1. 好的接口容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。
  2. “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。
  3. “阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。
  4. tr1::shared_ptr执行定制删除器。这可以防范 DLL 问题,可被用来自动解除互斥锁等等。

解释

条款19:设计类(class)犹如设计类型(type)

提要

解释

《Effective C++》第三部分:资源管理

所谓资源就是,我们可以向系统申请并使用的东西,但是将来必须归还给系统。说到这类东西,我们最容易想到的就是动态内存了,除此之外还包括文件描述器(file descriptors)、互斥锁(mutex locks)、数据库连接以及网络套接字。另外提到内存,不仅仅是 new 的基本对象,一些 new 出来的对象或者通过工厂方法得到的对象指针都是属于“内存资源”的范畴。

条款13:以对象管理资源

提要

  1. 为防止资源泄露,请使用RAII对象,他们在构造函数中获得资源并在析构函数中释放资源。
  2. 两个被常使用的RAII类是tr1::shared_ptrauto_ptr。前者通常是较佳选择,因为他们的复制行为更正常,也可以和标准库容器更好地结合。后者的复制行为会导致被复制者指向null。

Read More

仓鼠一般搜集到的炼丹技巧

原理部分

  1. 取值很大的数据(比网络权重初值大很多)和没有标准化的数据一样不安全,可能导致大的梯度使网络不能收敛。
  2. 如果数据点有冗余,要让他们都出现在训练集中而不是有的在训练集有的在测试集,要确保训练集和测试集没有交集。
  3. 一般来说,对于神经网络,将缺失值设置为0是安全的。网络能够从数据中学到0意味着缺失数据,并且会忽略这个值。注意,如果测试数据中可鞥有缺失值,而网络实在没有缺失值的数据上训练的,那么网络不可能学会忽略缺失值。在这种情况下,你应该人为生成一些有缺失项的训练样本:多次复制一些训练样本然后删除测试数据中可能缺失的某些特征。

Read More

Python中使用函数构建对象

一、使用对象构建抽象

1.1 数据抽象

现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示对象。……根本不必考虑它们到底代表着什么东西。

上一篇文章主要强调的是对数据的操作以及这些操作之间的组合与抽象,这个过程中使用到的主要工具是函数。对于数据自身,我们同样可以应用组合与抽象的基本技巧。数据抽象类似于函数抽象。当我们创建函数抽象时,函数如何实现的细节被隐藏了,而且特定的操作序列本身可以被任何具有相同行为的函数替换。换句话说,我们可以构造抽象来使函数的使用方式和函数的实现细节分离。与之相似,数据抽象是一种方法论,使我们将复合数据对象的使用细节与它的构造方式隔离。

Read More

本站总访问量