自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老齐教室

敲代码的老农

  • 博客(137)
  • 收藏
  • 关注

原创 ChatGPT写的一篇文章

进入AI领域必须学好数学下面是这篇文章,是 ChatGPT 所做,供大家参考。人工智能(AI)已经成为现代技术的重要组成部分,其应用范围正在不断扩大。AI技术已经被广泛应用于医疗保健、金融、交通、制造业等多个领域,为社会带来了重大的影响和改变。而作为AI技术的基础,数学的学习也显得至关重要。首先,数学是 AI 技术的基础。大多数 AI 技术都依赖于数学和统计学原理,例如概率论、线性代数、微积分和优化方法等。这些数学工具和技术不仅可以用于算法的设计和开发,还可以用于对数据进行建模、分析和解释。因此,想要

2023-03-03 14:28:23 267 1

原创 ChatGPT的原理:机器人背后的模型

ChatGPT的原理:机器人背后的模型翻译:老齐本文将深入讲解支持 ChatGPT 的机器学习模型。从介绍大语言模型(Large Language Models)开始,深入探讨革命性的自注意力机制,该机制使 GPT-3 得以被训练。然后,进一步探讨强化学习,这是使 ChatGPT 变得卓越的新技术。大语言模型ChatGPT 是一类机器学习自然语言处理模型——大语言模型(Large Language Models,LLMs)的推广。LLMs能够消化大量的文本数据并推断文本中词汇之间的关系。随着计算能力

2023-02-16 10:06:56 4880

原创 用 Python 调用 GPT-3 API

用 Python 调用 GPT-3 APIGPT-3 是去年由 Open AI 推出的语言机器学习模型。它因其能够写作、写歌、写诗,甚至写代码而获得了广泛的媒体关注!该工具免费使用,只需要注册一个电子邮件即可。GPT-3 是一种叫 transformer 的机器学习模型。具体来说,它就是 Generative Pre-training Transformer,因此叫做“GPT”。Transformer 架构使用自我注意和强化学习来模拟会话文本。通常,它一次处理一个单词,并使用前面的单词预测序列中的下一个

2023-02-11 13:47:53 3254

原创 数据结构资料汇编:栈

数据结构资料汇编:栈定义栈(stack)是限定仅在表尾进行插入或删除操作的线性表。表尾称为栈顶(top),可以进行插入或删除操作栈的插入操作称为进栈或入栈(push)栈的删除操作成为出栈或退栈(pop)表头称为栈底(bottom)不含元素的空表称为空栈操作特性:后进先出(Last In First Out,LIFO)抽象数据类型ADT Stack {    数据对象: D = {a_i&nbsp

2023-02-02 17:12:40 544

原创 线性表的顺序存储

线性表的顺序存储线性表的定义和特点由 个数据特性相同的元素构成的有限序列称为线性表。元素的个数 为线性表的长度 时称为空表元素具有相同的特性,即属于同一数据对象相邻数据元素之间存在着序偶关系特点:存在唯一的一个被称作“第一个”的数据元素存在唯一的一个被称为“最后一个”的数据元素除第一个之外,每个数据元素均只有一个前驱(直接前驱)除最后一个之外,每个数据元素均只有一个后继(直接后继)顺序存储定义和特点线性表的顺序表示:用一组地址连续的存储单元依次存储线性表的数据元素,这种表示也称为线性

2023-01-12 17:24:02 956

原创 解2022年408考研真题第1题

解2022年408考研真题第1题2022年408考研真题第1题,考察了时间复杂度的计算方法。题目内容如下:下列程序段的时间复杂度是( )。sum = 0;for (i = 1; i < n; i *= 2)     for (j = 0; j < i; j++)&

2023-01-05 11:09:41 3788 1

原创 新网站

新网站原来网站因为不可抗力,会逐渐在这个世界消失。为了继续能与各位交流学习,我做了下面的网页:https://lqlab.readthedocs.io有关资料均逐渐在这里重新发布。本文由 mdnice 多平台发布

2022-12-19 18:32:06 159

原创 用幂律分布研究工资收入

本文系即将出版的《机器学习数学基础》中的“第5章概率”的“5.3.3 连续型随机分布”一节中“幂律分布”节选。本书将由电子工业出版社出版。相关主题网站:https://qiwsir.gitee.io/mathmetics/微软曾在一篇报告中称,Windows和Office中80%的错误是由检测到的20%的错误导致的(参阅:https://www.crn.com/news/security/18821726/microsofts-ceo-80-20-rule-applies-to-bugs-not-ju.

2021-07-19 13:44:38 588 1

原创 用Python进行单元测试

Python编程语言,不仅仅在机器学习、数据分析等领域大放异彩,在web开发中等软件开发中,使用者也越来越多。在软件开发中,有一种被提倡的开发范式:测试驱动开发。在这种开发范式中,编写单元测试是必不可少的。如果不实施严格的测试驱动开发,编写单元测试程序也是必要的。对于单元测试而言,最基本的模块是pytest,在本文中会对这个模块给予简要介绍。此外,还有一个现在很流行的模块fizz buzz,本文也会向读者推荐。为什么要自动化测试并非所有人都理解自动化测试的必要性,有人甚至认为纯粹是个负担,他们认为

2021-04-02 10:30:17 4469

原创 深入理解循环和迭代

循环,特别是for循环,是Python中常见的语句,甚至于Guido van Rossum(Python创始人)在评论递归的时候说过在Python中“递归已死”,我想这句话的意思不是说在Python中不能用递归,而是说因为Python中的for循环语句足够强大,可以不考虑递归,而是用for循环实现原本用递归做的事情。本来,在《Python大学实用教程》和《跟老齐学Python:轻松入门》两本书中都对for循环语句做了很完整地介绍,并且在这两本书中也有关于可迭代等概念,但是,如何将两者融合起来理解,从而能够

2021-03-19 09:21:11 1200

原创 从DataFrame中删除列

在操作数据的时候,DataFrame对象中删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。首先,一般被认为是“正确”的方法,是使用DataFrame的drop方法,之所以这种方法被认为是标准的方法,可能是收到了SQL语句中使用drop实现删除操作的影响。import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(25).reshape((5,5)), columns=list("abcde"))

2021-03-16 09:35:07 46436 1

原创 Python虚拟环境

导言本文是针对《Python大学实用教程》和《跟老齐学Python:轻松入门》两本书的基础内容之后的提升。通常,在不同的项目中,会用到不同的Python版本——如果有必要的话,也包括一些库的版本,并非总是最新的就是最适合的或者最好的。对此,解决之道就是创建虚拟环境。一个项目创建一个虚拟环境,在每个虚拟环境之中,就相当于一个“裸机”,里面所需要的东西任你根据当前的需要自由配置,并且不会影响到其他项目。特别是在诸如Linux系统上,有时候安装某些东西还需要root权限,此时虚拟环境的好处就更明显了。创

2021-03-10 10:46:25 766

原创 用Python玩转数学:第一课

用Python玩转数学:01课程介绍 与本课程相关的更多文本资料地址:https://qiwsir.gitee.io/mathmetics/

2021-03-08 10:21:49 259

原创 必须升级pip,为什么?!

在《Python大学实用教程》和《跟老齐学Python:轻松入门》两本书中,都介绍了如何安装第三方库的方法:pip install package-name在用pip安装第三方库或者模块的时候,如果检测到本地的pip版本过低,会提示升级。有的人觉得升级比较麻烦,就放弃了。本文就要重点讲一讲,为什么要必须升级pip。先说结论,如果该升级的时候不升级,结果是:可能会导致安装某些东西的时候失败;或者安装进程很慢,或者给你带来其他麻烦。所以,如果不升级,后果很严重。老版本的问题下面是在Docker.

2021-03-03 11:34:21 2637

翻译 编程的黄金时代结束了吗?

注: 本文内容主要源自参考文献[1],但是,翻译的时候并未完全直译,做了表述上的适当润色和修改,但主要观点未变。文章中的观点,仅供读者参考,也并不代表老齐本人的观点。O’Reilly公司,对开发者而言,无人不知,它出版了很多非常棒的图书。此公司的创始人不久前语出惊人,他以自己对编程行业的未来发展之深思熟虑,做出了如下判断:“我认为您可以成为一名程序员并找到一份工作,但编程这个职业,像最近几十年这样的黄金时代已经过去了。编程,现在更像是读写,每个人都要会。”听起来很合逻辑,同时也让准备进入这个行业

2021-02-23 14:43:52 191

原创 Python中`__name__`有什么用

注: 有的读者在学习《Python大学实用教程》第7章模块和包[2]^{[2]}[2]时,对变量__name__感到困惑,现补充解释。与本书更多的有关资料,请访问:http://www.itdiffer.com/python_course.html在Python程序中,你会经常看到__name__,例如:if __name__ == '__main__': main()本文将介绍如何正确使用和理解这个变量。请注意,__name__在程序中是一个变量,只不过这个变量的命名有点奇怪,用双

2021-02-18 09:45:57 574

原创 计算相似度

计算相似度在机器学习中,经常要度量两个对象的相似度,例如k-最近邻算法,即通过度量数据的相似度而进行分类。在无监督学习中,K-Means算法是一种聚类算法,它通过欧几里得距离计算指定的数据点与聚类中心的距离。在推荐系统中,也会用到相似度的计算(当然还有其他方面的度量)。本文中,将介绍业务实践中最常用的几种相似度的度量方法。基于相似性的度量皮尔逊相关系数斯皮尔曼秩相关系数肯德尔秩相关系数余弦相似度雅卡尔相似度基于距离的度量欧几里得距离曼哈顿距离1. 基于相似性的度量1

2021-02-06 14:35:59 1186

原创 如何使用Python的filter函数

介绍Python内置的filter()函数能够从可迭代对象(如字典、列表)中筛选某些元素,并生成一个新的迭代器。可迭代对象是一个可以被“遍历”的Python对象,也就是说,它将按顺序返回各元素,这样我们就可以在for循环中使用它。filter()函数的基本语法是:filter(function, iterable)返回一个可迭代的filter对象,可以使用list()函数将其转化为列表,这个列表包含过滤器对象中返回的所有的项。filter()函数所提供的过滤方法,通常比用列表解析更有效,特别是当

2020-10-19 13:38:56 14718 1

原创 如何实现四元数的运算

如何实现四元数的运算在前面的一篇文章《Python中的5对必知的魔法方法》中所介绍的“魔法方法”,或者说是特殊方法,其命名均是双下划线开始和结束。英文中称为“dunder methods”。为了更充分理解这类方法,本文通过一个示例,专门介绍此类方法的特点。构建四元数对象四元数是一个代数概念,通常用于描述旋转,特别是在3D建模和游戏中有广泛的应用。Q=w+xi^+yj^+zk^Q = w + x\hat i + y\hat j + z\hat kQ=w+xi^+yj^​+zk^其中 w,x,y,z∈

2020-10-12 16:31:18 774

原创 反向传播算法的工作原理(1)

反向传播算法是神经网络中的重要算法,通过它能够快速计算梯度,进而通过梯度下降实现权重和偏置参数的更新反向传播算法最初是在20世纪70年代被引入的,但直到1986年大卫·鲁梅尔哈特、杰弗里·辛顿和罗纳德·威廉姆斯合作的一篇著名论文问世后,人们才充分认识到它的重要性。这篇论文描述了几种神经网络,其中反向传播比以前的方法快得多,使人们有可能利用神经网络来解决以前无法解决的问题。如今,反向传播算法是神经网络中所要学习的主要内容。本文的内容中涉及到更多的数学问题。如果你对数学不感兴趣,可以把反向传播当作一个黑匣子

2020-09-25 17:18:24 2035

原创 激活函数的“3W”

学习神经网络,必然会遇到激活函数,那么:什么是激活函数?What为什么要用激活函数?Why应该选择哪个激活函数?Which本文尝试对此进行探讨。神经网络的基本思想人工神经网络是仿照了大脑的神经网络系统来处理数据的,它由节点组成了层,通常一个网络又有多个层(除了输入层和输出层之外,有多个隐藏层),每个节点就是一个神经元。信息从输入层进入,传到隐藏层(如图所示),按照简化的模型,输入数据乘以权重(weight)加上一个偏置(bias),然后应用激活函数得到该神经元的输出,再将此输出传给下一层的神

2020-09-23 11:46:52 198

原创 开篇词:为什么学习可视化,应该怎么学

每一本书或每一个课程,都会有前言或开篇词,但是,很多学习者不喜欢阅读前言,这就大错特错了,因为在前言中往往会包含一些作者想要表达的核心观点。我的日常工作就是写程序,业余时间也写了几本书,也有幸偶尔会与周边几所大学的一些学生分享某些技术。在与我交流的一些程序员、读者和学生中,会提出很多关于如何学习某项技能的问题——这里指的是软件开发或者大数据、机器学习方面,不包括诸如人际关系等技能。在这里,我把其...

2020-09-22 11:58:42 531

原创 第0-1课:数据科学工作流程

每门学科,都会有一些前置的信息,这里还要再继续唠叨唠叨,最好别引起你的反感呦。愚见,下面的信息,是需要首先明晰的。数据分析、人工智能等与数据相关的工作,其工作流程是什么?“数据可视化”,在数据科学中占有什么位置?为了学会数据可视化的各种技能,都需要哪些前置知识和能力?拙作《跟老齐学 Python:数据分析》一书中,列出了数据科学的发展简史,从中能体会到人类对数据的研究和应用。随着技术...

2020-09-22 11:58:40 367

原创 第0-2课:数据可视化的类别

走在大街上,满眼都是广告——说明市场经济发达,这是好事情。再观察一下广告,多是以各种样式的图形呈现,而不是简简单单地把数字呈现出来——即使是数字,也想办法把数字搞得像图一样。这样做的目的是要吸引人的注意,并且能够让人一眼就能看到想要看的。别以为这是广告商的策略,其实,他们只是顺应了大脑的特点(具体请参考有关心理学和脑科学的研究成果)。因为大脑的这种喜好,所以才非常有必要“数据可视化”,即用某种...

2020-09-22 11:58:39 679

原创 第0-3课:做好启动准备

本达人课不是针对零基础的学习者,需要具备以下知识。(1)Python 基础知识,包括但不限于:掌握 Python 内置的基本对象类型,如数字、字符串、列表、字典、元组等掌握 Python 的基本语法规则,如引入模块的方法、for 循环语句等掌握 Python 中函数的编写方法掌握 Python 中类的基本概念和了解面向对象的思想 这里推荐《Python 快速入门》达人课来学习。...

2020-09-22 11:58:37 141

原创 第1-1课:Matplotlib 初体验

从本课开始,将逐一介绍实现数据可视化的有关工具,第一个要学习的是 Matplotlib。初次看到这个名字,是不是会想到另外一个著名的数学工具:Matlab(没想到也不要紧,毕竟 Matlab 是一个在数学及相关领域使用的专门工具)。之所以要提及 Matlab,是因为它在与数学有关的应用方面颇有些神通,历史也很悠久。但是,随着应用的要求越来越多,这个有点“古老”的工具,显得力不从心了,于是乎在数据...

2020-09-22 11:58:36 312

原创 第1-2课:重新认识坐标系

在数据可视化中,坐标系是最基本的。在一张图纸上,只要建立了坐标系,图中的任何一个点就可以用数学方式描述清楚了。一般,小学学习了数轴,初中就开始学习了二维直角坐标系。但是,那仅仅是数学中的认识,现在要使用 Matplotlib 与已有的数学知识结合,对坐标系有新的认识。要很耐心地阅读以下内容,即便是“温故”,目的还是“知新”。通常所说的坐标系,也称为平面直角坐标系、正交坐标系、笛卡尔坐标系,英...

2020-09-22 11:58:34 828

原创 第1-3课:如何分区和绘图

在图纸上绘图,有时候整张图纸只绘制一幅图,有时候要绘制多幅图。在 Matplotlib 中要实现这种功能,可以使用 plt.subplots,前面已经用过此函数,此处要深入理解它的特点。首先,要引用 Matplotlib 的模块。%matplotlib inlineimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcP...

2020-09-22 11:58:33 397

原创 第1-4课:多样化的图像

在上一课,已经了解了基本的绘图方法,特别是熟悉了如何对坐标系做各种各样的设置,那是可视化的基础。本课要在上一课内容的基础上,进一步丰富坐标系内图像的设置。 注意,没有使用曲线这个词,显然包括但不限于曲线。1.4.1 标注如果在坐标系中绘制了多条曲线,会用图例表示出每条曲线的含义,这是一种区分方式;另外一种方式是直接对每条曲线进行标注,或许这样更直接明了。此外,有时候对于坐标系中某些特殊...

2020-09-22 11:58:31 107

原创 第1-5课:绘制柱形图和条形图

从本课开始,依次介绍常用的一些统计图表,以下引用来自维基百科中的“统计图表”词条部分内容。 图表(Chart),或又称为统计图表,代表了一张图像化的数据,并经常以所用的图像命名,例如圆饼图,是主要使用圆形符号,长条图或直方图,则主要使用长方形符号。折线图,意味着使用线条符号。 常见的图表包括:直方图(Histogram)、长条图(Bar Chart)、饼图(Pie Chart)、折线图(...

2020-09-22 11:58:30 757

原创 第1-6课:绘制箱线图、饼图和直方图

上一课介绍了柱形图和条形图,本课将介绍另外几种统计图表。1.6.1 箱线图Box Plot 有多种翻译,盒须图、盒式图、盒状图或箱线图、箱形图等,不管什么名称,它的基本结构是这样的:这种图是由美国著名统计学家约翰·图基(John Tukey)于 1977 年发明的,它能显示出一组数据的上限、下限、中位数及上下四分位数。中位数:由矩形箱子中的线表示。中位数常用于度量数据的中心,一半观测值...

2020-09-22 11:58:28 1130

原创 第2-1课:Seaborn 初体验

Seaborn 是基于 Matploblib 发展而来的实现数据可视化的库,它提供了一些更高级的工具,使得应用起来比 Matplotlib 更简单。因此,目前应用非常广泛。在第0-3课中已经说明了 Seaborn 的安装方法,如果尚未安装好,可以参考有关内容,或者参考 Seaborn 的官方网站。初步了解 SeabornSeaborn 的目的是通过对 Matplotlib 的更高级封装,可以自...

2020-09-22 11:58:27 159

原创 第2-2课:分类特征统计图

上一课已经体验到了 Seaborn 相对 Matplotlib 的优势,本课将要介绍的是 Seaborn 对分类数据的统计,也是它的长项。针对分类数据的统计图,可以使用 sns.catplot 绘制,其完整参数如下:seaborn.catplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, es...

2020-09-22 11:58:25 355

原创 第2-3课:关系统计图和回归统计图

本课将要介绍的关系图和回归图,与上一课中的分类特征统计图的不同之处在于,这两类图的目的是发现 X 和 Y 轴两个变量之间的可能关系。2.3.1 关系统计图如果要研究两个变量之间的可能函数关系,依据以往的经验,可以通过散点图进行探索——注意,这里所说的散点图,与上一课提到的“分类特征的散点图”是不同的。还是看示例,来理解此处的散点图。%matplotlib inlineimport sea...

2020-09-22 11:58:24 387

原创 第2-4课:数据分布统计图和热图

本课将继续介绍 Seaborn 中的统计图。一定要牢记,Seaborn 是对 Matplotlib 的高级封装,它优化了很多古老的做图过程,因此才会看到一个函数解决问题的局面。2.4.1 数据分布统计图在统计学中,研究数据的分布情况,也是一个重要的工作,比如某些数据是否为正态分布——某些机器学习模型很在意数据的分布情况。在 Matplotlib 中,可以通过绘制直方图将数据的分布情况可视化。...

2020-09-22 11:58:22 1891

原创 第2-5课:实战练习

第一部分和第二部分所学的 Matplotlib 和 Seaborn 工具,是具有师承关系的两个数据可视化库,在实际项目中,可根据自己的喜好选择使用。本课将用它来展示两个实际的案例,从中窥见数据可视化在数据分析方面的威力。2.5.1 分析马拉松跑步数据在本课程的 github.com 数据仓库中,有此处所使用的数据集,请单击这里自行下载。import pandas as pdmarathon...

2020-09-22 11:58:21 100

原创 第3-1课:绘图新概念

前面两课分别介绍了 Matplotlib 和 Seaborn,其基本的绘图思想是一样的:面向对象修改或添加对象的属性。本课要介绍的 Plotnine,看标题就明白,它必然有不同以往之处,也的确与 Matplotlib 体系有所不同。Plotnine 在绘图上,引入了“图层”的概念——如果熟悉美工妹妹的工作,这个概念就不难理解。它不是师承于 Matplotlib,而是基于 ggplot2。3.1...

2020-09-22 11:58:19 134

原创 第3-2课:几何对象和美学映射

从上一课的初步体验中,我们已经获悉,只要加载了数据,并创建了“美学映射”之后,也就有了绘图的基础,然后要思考的就是:做什么形状的图,是散点图,还是箱线图?这些图就是所谓的“几何对象”,每个几何对象都是一个图层——也可以看做一个对象。正是基于这个认识,p9.geom_* 等这些几何对象才都是类,每个图层也就是某个类的实例。3.2.1 几何对象原来曾经写过的:(p9.ggplot(mg) ...

2020-09-22 11:58:18 182

原创 第3-3课:案例剖析

在 Plotnine 官方网站中,提供了一些比较经典的案例,如果能够将这些案例分析清楚,对提高 Plotnine 的应用技能大有裨益。本课就选择两个案例抛砖引玉,供参考。3.3.1 柱形图及坐标轴设置本案例是关于柱形图和对其坐标轴设置,案例中核心类为 plotnine.geoms.geom_col(点击这里详见官方地址)。还是先创建数据集:import pandas as pdimpor...

2020-09-22 11:58:16 111

原创 第4-1课:Plotly 初体验

前面学习的可视化工具,所绘制的图都是发布到本地的。如果别人想看,有两种方法:一种是跑到自己的计算机这边来看;另一种是导出图片发给对方。在当今网络如此发达的时代,还用这种古代的方式传播信息,的确有点太不上档次了。如果读者在这之前已经意识到问题了,说明你是一个善于发现问题的人。但这还不够,还要善于解决问题。当然,这个问题也不是今天才发现的,比如 Alex Johnson、Jack Parmer、Ch...

2020-09-22 11:58:15 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除