摘要:
1、一定要手工初始化内置型non-member对象 对于下面一条语句 1 int x; 如果不对x初始化,则x值是一个半随机数。 2、使用initialization lists来初始化对象的所有成分 为什么不能用赋值代替初始化列表? c++规定:对象成员变量的初始化动作发生在进入构造函数本体之前。 阅读全文
摘要:
1、const用于定义常量 编译器可以对其进行静态数据类型检查 2、const可用于修饰形式参数 若你在编写函数时,并没有打算改变参数,这是就应该将参数的类型设置为const reference,这样既可以保证参数的常量性,又提高了传值的效率 3、const修饰返回值 若函数的返回值时const p 阅读全文
摘要:
1、无参宏定义的缺点 ① 可能会导致编译错误 记号名称也许从未被编译器看见 也许编译器在开始处理源码之前,记号名称被预处理各移走,于是记号名称未进入记号表。 ② #define 可能会比使用 const 导致更多的码。 ③ #define 无法创建一个class专属常量,因为#define 并不重 阅读全文
摘要:
1、vector类的主要数据成员 vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。 vector类中主要有三根指针start, finish和end_of_storage 1 template <typename T> 2 class vector 3 { 4 pub 阅读全文
摘要:
1、什么是迭代器的traits技术 在c++的标准库中,容器和算法是独立开发的,并用迭代器作为容器和算法沟通的桥梁。当某个容器使用算法时,算法必须要通过迭代器了解容器的某些信息,便于自己操作,例如容器中的元素类型等。为了实现算法更加方便的通过迭代器获取容器的信息,由此开发了迭代器的triats技术。 阅读全文
摘要:
1 概念 集合是一个无需的,不重复的数组组合,它的主要作用如下: 去重,将一个列表装换成集合,会将其去重 关系测试,测试两组数据的交集,差集,并集等关系。 集合对象是一组无需排列的可哈希的值,集合成员可以作为字典的键。 集合中的元素不可以是列表或字典 2 集合的创建 3 集合的访问 由于集合是无序的 阅读全文
摘要:
1 线性回归的模型 线性回归的模型十分的简单,就是对回归问题中每一个特征X乘以一个系数,使其拟合到输出Y,线性回归模型就是找到这样一组系数。 线性回归的模型如下: 其中x是数据的特征,是一个d维的列向量,是权重系数,也是一个d维的列向量,y是模型的输出 2 线性回归的损失函数 在做回归问题的时候,模 阅读全文
摘要:
1 CART回归树生成算法 一个决策树对应着输入空间的划分以及在划分空间的输出值,意思就是输入样本X在通过整个决策树后会落到哪个叶子结点,而划分空间的输出值就是该叶子结点对应的输出值。假设已经生成了一颗决策树,该决策树将输入空间划分成M个单元R1,R2,R3...RM,即决策树有M个叶子结点,并且在 阅读全文
摘要:
1 特征选择 特征选择的理解:在决策树算法中,每次选择一个最优的特征来分支是最最重要的一步,那究竟如何选择这个最优的特征就变成了关键问题。对于拿到的数据中,什么类别标签的样本都有,是十分不确定的,换句话说就是十分混乱的。用数据中其中一个特征来划分数据之后,数据的混乱程度都会变小,最优的划分特征就是通 阅读全文
摘要:
1.感知机模型 感知器模型只是适用于线性可分的二分类情况,例如有n个样本,x是n维的特征,y是二分标签{+1, -1},任务是找到一条超平面将样本中的正负样本分开。 具体的,如果我们有m个样本,每个样本都对应与n为特征和一个二分类别输出,如下 由输入空间到输出空间的函数为: 称为感知机,其中,w和b 阅读全文