分类 二、深度学习 下的文章

在深度学习中,向量、矩阵和张量是数学概念,它们用于表示和处理数据。下面是它们的定义:

微信截图_20240528152854.png

一、向量(Vector):

向量是一个一维数组,可以表示为一个有序的数值列表,通常用于表示单个数据点的特征。在数学上,向量可以是列向量(垂直于行向量)或行向量(水平于列向量)。在深度学习中,向量通常用来表示单个样本的特征。

  • 向量是一组有序排列的数,可以是行向量或列向量。
  • 行向量是一个水平排列的数值集合,通常表示为 $ \mathbf{v} = [v_1, v_2, \ldots, v_n]$
  • 列向量是一个垂直排列的数值集合,通常表示为
    微信截图_20240528151534.png

在深度学习中,向量通常用来表示一组特征或者是神经网络中的权重

二、矩阵(Matrix):

矩阵是一个二维数组,由行和列组成。矩阵可以被看作是向量的集合,其中每个向量可以是列向量或行向量。在深度学习中,矩阵常用于表示多个数据点的特征集合,例如,一个矩阵的每一行可以代表一个样本,每一列代表一个特征。

  • 矩阵是一个由数字按照矩形排列成的数组,有行和列的概念。
  • 一个 m times nm×n 的矩阵可以表示为$ A = [a_{ij}] $,其中 $a_{ij} $ 表示位于第 ii 行第 jj 列的元素。
  • 在深度学习中,矩阵常被用来表示权重参数、输入数据以及中间计算结果。

三、张量(Tensor):

张量是向量和矩阵的推广。一个张量可以有任意数量的维度,而不仅仅是一维或二维。张量的阶数(order)或秩(rank)是指它的维度数。例如:

0阶张量是一个标量(scalar),是一个单一的数值。
1阶张量是一个向量。
2阶张量是一个矩阵。
3阶张量可以被看作是一个立方体,有三层维度。
4阶张量可以被看作是一个四维数组,等等。
在深度学习中,张量用于表示复杂的数据结构,如多维数组,这些数据结构可以包含图像、视频帧、序列数据等。张量运算(如加法、乘法等)是深度学习算法中的基础,它们允许我们执行复杂的数学操作来处理数据。

1.前缀提示
Controllable Natural Language Generation with Contrastive Prefixes
https://arxiv.org/pdf/2202.13257.pdf

2.Response Generation with Context-Aware Prompt Learning
https://arxiv.org/pdf/2111.02643.pdf

3.Planning with Learned Entity Prompts for Abstractive Summarization
https://arxiv.org/pdf/2104.07606.pdf

4.The Power of Scale for Parameter-Efficient Prompt Tuning
https://arxiv.org/pdf/2104.08691.pdf

5.XDAI: A Tuning-free Framework for Exploiting Pre-trained
Language Models in Knowledge Grounded Dialogue Generation
http://keg.cs.tsinghua.edu.cn/jietang/publications/KDD22-Yu-et-al-XDAI.pdf
参考文献:
1.https://cloud.tencent.com/developer/article/2117074

一、背景说明

1.什么是爬虫

通过编程,模拟浏览器上网,然后让其去互联网上抓取数据的过程,我在一般都是用来爬取网上的数据玩,有时候也会用爬虫来下载图片。

2.爬虫中的矛与盾

反爬机制:门户网站通过制定响应的策略或者技术手段,防止爬虫程序进行网站数据爬取
反反爬机制:破解反爬机制
robots.txt协议:规定那些数据可以爬取,哪些不能爬取。
注意:数据不能乱爬吼,要遵循,robots.txt的协议哦[狗头]。

3.爬虫的分类

通用爬虫:抓取互联网中的一整张页面数据
聚焦爬虫:在通用爬虫的基础上,抓取页面中的特定的局部内容。
增量爬虫:检测网站中数据更新情况,只会抓取网站中最新更新出来的数据

4.爬虫流程

主要用的模块为requests,主要的流程如下图所示,我们以爬取百度搜索结果的爬虫为例来解释爬虫的运作过程。
WX20221129-175743@2x.png

二、百度知道数据爬取要点

1.流程解析

将特定种子短语,输入到爬取连接中,获取返回结果,并对结果进行解析保存。举例,将百度知道返回的结果进行抓取保存。
2022-11-30 17-18-21屏幕截图.png

2.依赖库

使用pip安装
请在命令行中键入:

$ pip install baiduspider
3.BaiduSpider简介

BaiduSpider 的独特功能:
节省提取数据的时间,对于类似深度学习项目的数据模型建立与训练起到了良好的帮助。
精准提取数据,并删除广告。
搜索结果大而全,支持多种搜索类型,支持多种返回类型。

4.封锁ip解决方案

(1)定义:封锁IP——当计算机或系统受到外部攻击时,管理员可以通过屏蔽攻击源IP地址来抵御攻击。通过防火墙和路由器配置,可以封锁某个IP,禁止与其连接,从而达到抵御攻击的作用。但事实上大多数的攻击,管理员根本没有时间反应,一般在反应过来后系统已经崩溃。
(2)原因:百度网站的数据具有反爬取机制,防止第三方爬取百度数据
(3)解决方案:不停变换ip地址,这就需要ip地址池。目前有第三方ip地址厂商准门提供ip代理。收费标准大概再每月几十块钱。
(4)ip代理商:本方案采用青果网络。只需添加几行代码可解决。https://www.qg.net/


        proxy = "https://proxy.qg.net/extract?Key=73F8B4FC&Num=1&AreaId=&Isp=&DataFormat=txt&DataSeparator=%5Cr%5Cn&Detail=0"
        reponse = requests.get(proxy)
        #重试机制
        if ":" not in reponse.text:
            for i in range(3):
                print("开始重试")
                reponse = requests.get(proxy)
                print("ip:", reponse.text)
                if ":" in reponse.text:
                    break
4.代码简介

代码文件baiduzhidao.py
1.获取要爬取的关键词列表
2.将关键词提交到爬取链接中
3.将爬取链接提交到ip代理中
4.返回爬取结果,保存结果