Zheng Chu's Blog

让希望永驻


  • 主页

  • 所有专栏

  • 历史文章

  • 标签

  • 关于我

GAN

Posted on 2019-09-08 Edited on 2020-12-06 In 深度学习

原始GAN

训练过程:

  1. 初始化generator和discriminator
  2. 在每一轮迭代中:
    • 首先固定生成器 $G$,然后更新判别器$D$;这时候,$D$学会对真实目标打高分,生成目标打低分;
    • 固定判别器$D$,然后更新生成器$G$;这时候,生成器(通过梯度上升)学习如何欺骗判别器;

训练过程公式版:

Read more »

EM

Posted on 2019-09-05 Edited on 2020-12-06 In 机器学习

EM算法

EM算法解决的问题:有隐变量存在的概率模型参数的极大似然估计,或极大后验估计。

先给出《统计学习方法》中对隐变量、观测变量的形式化如下:

$Y$表示观测随机变量(observed)的数据,$Z$ 表示隐随机变量(hidden)的数据;

观测数据$Y$的概率分布是$P(Y|\theta)$, 其中$\theta$是需要估计的模型参数, 对数似然函数为$L(\theta)= \log P(Y|\theta) $;

Read more »

JaccardDistance

Posted on 2019-09-04 Edited on 2020-12-06 In C++

Jaccard距离

记录一下前几天面试遇到的一个题,计算两个字符串的Jaccard距离:

1.Jaccard系数的定义是:两串交集的长度比上并集的长度,当A、B串都是空串的时候,系数为1:

Jaccard距离的定义是1减去Jaccard系数:

  1. c++中对集合里的元素取交集和并集的操作分别是:set_intersection、set_union,注意两个输入串必须是按照相同排序规则排好序的串;插入的时候选择使用尾部插入迭代器back_iterator对空的vector做插入;
Read more »

C++---CHAPTER-15---OBJECT-ORIENTED-PROGRAMMING

Posted on 2019-09-04 Edited on 2020-12-06 In C++

概述

  • OOP的核心思想:
    • 数据抽象:类的接口与实现分离;
      • 继承:定义相似的类型并对其相似关系建模;
      • 动态绑定:一定程度上忽略相似类型的区别,而以同一的方式使用它们的对象。
  • 继承 inheritance
    有关与基类(base class)和派生类(derived class)的一个例子是:Quote类作为一个基类,Quote的对象表示按原价销售的书籍,Quote的一个派生类Bulk_quote,它的对象表示打折销售的书籍,基类定义的两个函数是:
  • isbn(),返回书籍的ISBN编号。
  • net_price(size_t),返回书籍的实际价格。
Read more »

C++---CHAPTER-12---Dynamic-Memory

Posted on 2019-09-04 Edited on 2020-12-06 In C++

静态内存、栈内存、动态内存

  • 静态内存:保存局部static对象;类static对象、已经定义在任何函数之外的变量。
  • 栈内存:保存定义在函数内的非static对象;

其中栈对象仅在其定义的程序块运行时才存在;static对象在使用之前分配,程序结束时销毁。

  • 内存池(称为堆heap):存储动态分配的对象,即在程序运行时分配的对象,动态内存不在使用时,代码必须显式地销毁它们。
Read more »

C++---CHAPTER-11---ASSOCIATIVE-CONTAINER

Posted on 2019-09-04 Edited on 2020-12-06 In C++

小结

关联容器通过关键字查找和提取元素。对关键字的使用将关联容器与顺序容器区分开来,顺序容器中是通过位置访问元素的。

标准库定义了8个关联容器,每个容器:

  • 是一个map或者是一个set。map保存关键字-值对;set只保存关键字。
  • 要求关键字唯一或不要求。
  • 保持关键字有序或不保证有序。
  1. 允许重复关键字的容器的名字都包含有multi,而使用哈希技术的容器的名字都以unordered开头。set是一个有序集合,其中每个关键字只可以出现一次;而unordered_multiset则是一个无序的关键字集合,其中关键字可以出现多次。
Read more »

C++---CHAPTER-10---ALGORITHM

Posted on 2019-09-04 Edited on 2020-12-06 In C++
  • 泛型算法:经典算法的公共接口。
  • 泛型的含义:用于不同类型的元素和多种容器类型,以及其他类型的序列。

初识

  • 例子:
    泛型算法不直接操作容器,而是遍历由两个迭代器指定的一个元素范围,如find:
    1
    2
    int val = 42;
    auto result = find(vec.cbegin(), vec.cend(), val)
    可以看到,find内部使用迭代器进行,这使得迭代器令算法不依赖与容器。
    但是算法依赖于元素类型的操作:比如find要求元素类型支持<云算符。
    并且多数算法支持我们自定义的操作代替默认的比较运算符。
Read more »

C++---CHAPTER-9---CONTAINER

Posted on 2019-09-04 Edited on 2020-12-06 In C++
  • 顺序容器
vector 尾部之外的位置插入或删除元素可能很慢
deque 头尾位置插入、删除速度很快
list 任何位置插入、删除速度很快
forward_list 只支持单向顺序访问,任何位置插入、删除都很快。
array 固定大小数组。不能添加删除元素
string 随机访问快、尾部插入删除很快。
Read more »

从map中找到value或者key最大的iterator

Posted on 2019-09-04 Edited on 2020-12-06 In C++

从map中找到value或者key最大的iterator

预备点:

  1. delctype 的使用:

c++里的两个类型推理符号auto 和delctype:

  • auto :auto关键字指定正在声明的变量的类型将自动从其初始化器中推得。函数的返回类型是auto,那么将在运行时通过返回类型表达式对其进行计算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main() 
{
auto x = 4;
auto y = 3.37;
auto ptr = &x;
cout << typeid(x).name() << endl
<< typeid(y).name() << endl
<< typeid(ptr).name() << endl;

return 0;
}

i //int整型
d //double类型
Pi // pointer to int 类型
Read more »

C++---CHAPTER-7---CLASS

Posted on 2019-09-04 Edited on 2020-12-06 In C++
  • 引入this
    调用一个成员函数,编译器用请求该函数的对象地址初始化this,所以this的目的总是指向这个对象,因此this是一个常量指针。

  • 引入const成员函数
    以下是Sales_data类的一个成员函数的定义,参数列表之后的const作用是修改隐式this指针的类型,因为默认情况下,this的类型是指向类类型非常量版本的常量指针。所以默认情况不能把this绑定到一个常量对象上。这样使用const的成员函数被称为常量成员函数。

    1
    std::string isbn() const {return bookNo;}
  • 类作用域
    编译器首先编译成员的声明,然后是成员函数体,所以成员函数体可以随意使用类中的其他成员无须在意成员的顺序。

  • 定义一个返回this对象的函数
    函数类似于某个内置运算符时,应该令该函数的行为尽量模仿这个运算符。内置赋值运算符把它的左侧运算对当左值返回,意味着这些函数返回的是对象本身而非对象的副本,因此combine必须返回引用类型。

    1
    2
    3
    4
    5
    6
    Sales_data& Sales_data::combine(const Sales_data &rhs)
    {
    units_sold += rhs.units_sold;
    revenue += rhs.revenue;
    return *this; //解引用指针获取执行该函数的对象。
    }
  • 类相关的非成员函数
    如果函数在概念上属于类但是不定义在类中,则它一般应与类声明在同一个头文件。
    默认情况下拷贝类的对象,拷贝的是对象的数据成员。
Read more »
<1…789>
Zheng Chu

Zheng Chu

90 posts
20 categories
25 tags
GitHub 简书 CSDN E-Mail
© 2021 Zheng Chu
Powered by Hexo v4.2.1
|
Theme – NexT.Pisces v7.3.0
|