Paul C's Blog

To be funny,to grow up!

0%

GD

Gradient Decent/Steepest Decent,求解无约束最优化问题。

image-20220330173751248

负梯度方向是使函数值下降最快的方向。

image-20220330181452563

否则,不断地找f(x)的极小值点x,办法是让x=x-df(x)* λ,最关键的是找到合适的λ。

举例如下:

image-20220330181942932

梯度下降法收敛速度不一定快,而牛顿法和拟牛顿法,收敛速度更快。

Newton Method

求解无约束最优化问题的迭代算法,每一步需要求解目标函数的海森矩阵的逆矩阵。

基本思想:在现有极小值估计值的附近对f(x)做泰勒展开,进而找到极小值的下一个估计值。

image-20220330182720475

quasi-Newton Method

通过正定矩阵近似海森矩阵(的逆矩阵)。

参考华为HCIA-AI课程,该篇笔记所涉及内容都是概论,赶时间时不要看此文。

学习算法

学习:程序在任务T上以P的性能随着经验E自我完善 。

1
2
输入:任务T、性能度量P、经验E
输出:自我完善的程序

什么时候用?

  • 问题涉及到大量数据,但是数据分布未知;
  • 问题解决方案复杂;
  • 规则十分复杂或者无法描述;
Read more »

数据转换

数据进行初步预处理后(清洗[异常值处理,噪声的去除]),将数据变为规格化的形式。

并在归一化和标准化后,进行组合或者转换扩充出新的特征。

  • 1.分类问题中的,对类别编码为数值表示(哑编码)。
  • 哑编码: onehot编码+00…0(全0的编码)
  • 2.连续数据转化为离散值,通过分段。
  • 3.文本数据 wordbag(词袋法),word2vec(体现词的上下文结构,word—>一串数字)或者TF-IDF(词频*逆文档频率)

    • (IDF给常见的词较小的权重,帮助获得关键信息)
    • TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言(语料库)中的出现次数成反比。
    • 通过计算文章中各个词的TF-IDF,降序排序,排在最前面的几个词,就是该文章的关键词。
Read more »

1.null重定向到文件

1
2
3
4
5
>big_size_file#null清空文件
echo "" >test.log
echo >test.log#空字符串清空文件,此时用cat查看文件会打印空行
#使用-n告诉echo不输出换行符
echo -n "" >test.log

2.true命令

1
2
:>accesslog
true >test.log

3.借助/dev/null的dd,cp,cat程序

/dev/null 可以吞噬输入,或者当成空文件输出

1
2
3
cat /dev/null >test.log
cp /dev/null >test.log
dd if=/dev/null of=test.log

4.truncate将文件大小缩小或扩展到指定大小

1
truncate -s 0 test.log

线程可以共享创建它 的进程的地址空间,若是多个进程,会涉及到进程间通信(因为进程 的地址空间相互独立).

git克隆部分文件

1
2
3
4
5
6
7
8
git clone -n --filter=blob:none git://github.com/vxunderground/MalwareSourceCode.git MalwareSourceCode
cd MalwareSourceCode
git sparse-checkout init
git sparse-checkout set Python/ Win32/ Linux/
git sparse-checkout list

git pull origin main
git checkout main -- Win32/Botnets
1
git clone -b main  --depth=1     --filter=blob:none    --sparse     https://github.com/vxunderground/MalwareSourceCode.git MalwareSourceCode

首先,在github网页端的控制界面从master分出一个分支hexo;

1
2
3
4
5
6
7
8
9
#指定hexo分支clone到本地,并重命名为blog
git clone -b hexo git@github.com:MemoryOfSnow/MemoryOfSnow.github.io.git blog
#添加用户名配置
git config --global user.email "you@example.com"
git config --global user.name "MemoryOfSnow"
# 强行覆盖远程的hexo分支
git push --set-upstream origin hexo --force
#本地切换分支
git checkout -b hexo

hexo的_config.yml将分支设置为master,而整个文件夹设置为hexo分支,这样就可以实现多设备共同维护博客了。

Read more »

打开 ./themes/next/layout/_partials/pagination.swig 文件,修改 mid_size 字段

CNN_EXAMPLE

1. pooling layer

减少展示信息,以加快计算,还能增强检测到的特征的鲁棒性。

Hyper parameter

  • f: filter size 小的卷积核捕获细微特征或局部信息,参数量相对较少。
  • s: stride
  • type:Max or average pooling
  • 用的很少的:p=0—padding

这是一个确定的函数,手动输入或者交叉检验,不需要学习获得。

Read more »

神经网络结构搜索

厦大-纪荣嵘教授

image-20220510201253099

主要流程

image-20220510201331612

1.基于细胞的:

谷歌2018年的策略,把公共结构做成cell,借助这些cell组合出需要的模型。

Zoph, Barret, et al. “Learning transferable architectures for scalable image recognition.”Proceedings of the IEEE conference on computer vision and pattern recognition.2018.

2。基于链式的:

image-20220510202140341

image-20220510202439208


全局视角:

image-20220510202643036

image-20220510203014458

image-20220510203153112

NAS的进化计算

从种群出发,然后一定概率进行变异,杂交,交给环境,利用环境去做出选择,然后再进行迭代。

image-20220510204255094

Genetic CNN

搜索策略:进化算法,将网络结构编码为01序列的基因,通过俄罗斯转盘选择、复制、交叉、变异产生后代.

当搜索变深时,内存开销增大,要裁剪掉大量操作。