最速下降法

首先,理解梯度向量是指向函数值增长最快的方向的:MIT18.02笔记-梯度的定义与理解

定义函数$f(x)$,其在点$x$处沿着方向$d$的变化率可用方向导数表示,即梯度与方向的乘积: $$Df(x;d)=\nabla f(x)^Td$$ 当$d=-\frac{\nabla f(x) }{ ||\nabla f(x)|| }$时,函数$f$在点$x$处的下降速率最大,即负梯度方向为最速下降方向

最速下降算法:在迭代过程,每次都选择负梯度方向搜索(对于寻找最小值的最优化问题)

最速下降算法步骤:

  1. 初始化$x_1$,设定允许的最小误差$\epsilon$,迭代次数$k=1$
  2. 对于第$k$次迭

Read more

共轭梯度法

共轭梯度法(Conjugate Gradient)是介于最速下降法牛顿法之间的一个方法

  • 仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,
  • 避免了牛顿法需要存储和计算Hessian矩阵(占用空间大)并求逆的缺点
  • 求解大型线性方程组或非线性最优化问题时常用且高效的方法

1 共轭方向法

设$G$为对称正定矩阵,若$d^T_mGd_n=0,\ m\neq n$ ,则称$d_m$和$d_n$为“G共轭”,共轭方向是“互不相关”的方向

共轭是正交的推广,$n$个共轭向量可以作为$n$维空间的非正交基,共轭向量间是线性无关的

共轭方向法

Read more

林纳斯·托瓦兹

1 基本信息

林纳斯·贝内迪克特·托瓦兹(Linus Benedict Torvalds),生于芬兰赫尔辛基市,拥有美国国籍,Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。他还发起了开源项目Git,并为主要的开发者。

2 个人经历

1969年12月28日托瓦兹出生于芬兰赫尔辛基

1988年至1996年托瓦兹就读于赫尔辛基大学,并获得计算机硕士学位

1991年托瓦兹开始接触GNU项目,并于1991年底公开发布第一个 Linux 原

Read more

理查德·马修·斯托曼

1 基本信息

理查德·马修·斯托曼(Richard Matthew Stallman, RMS),于1953年出生,自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。

2 个人经历

1953年3月,斯托曼出生于美国纽约一个犹太人家庭

早年他就对计算机有很深的兴趣;1970年秋季考入哈佛大学物理系

1971年,成为麻省理工学院人工智能实验室助理程序员,同时也成为黑客社区的常客

斯托曼在1983年9月推出了GNU项目。借此又发起了自由软件运动

Read more

利用python进行数据分析-总结

1 基本信息

1.1 书籍名称:《利用python进行数据分析》

1.2 撰写作者:Wes McKinney

1.3 出版日期:2022-10-19

1.4 品读时间:2023-03-24~2023-04-10

1.5 整体耗时:约15h

1.6 摘要

Read more

13.《Python数据分析》数据分析案例

本章针对一些真实数据集进行处理和分析,以便复习并实践之前章节的内容

本章仅简略记录核心内容,不再展示具体代码,代码可参考本书配套Git项目-13章

1 来自Bitly的USA.gov数据

短域名供应商Bitly提供的用户的网络访问信息(已脱敏数据,目前已该服务已关闭)

主要实践内容:

  • 解析JSON格式数据,借助seaborn模块进行数据可视化
  • 处理时区信息,处理缺失数据,并统计最高频的10个时区
  • 筛选windo

Read more

12.《Python数据分析》建模相关Python库介绍

本章主要简单介绍了statsmodels 和 scikit-learn这两个Python建模的常用模块

1 衔接pandas与建模代码

先使用pandas进行数据加载和清理后,再进行建模是模型开发的一个常见工作流

一般建模工具都支持数组结构,所以经常用to_numpy方法将DataFrame转换为NumPy数组

代码示例:

data = pd.DataFrame({
     'x0': [1, 2, 3, 4, 5],
     '

Read more

傅里叶变换

1 傅里叶变换

1.1 基本定义

传统傅里叶变换的定义为(积分形式):$F(\omega)=\mathcal{F}{f(t)}=\int f(t)e^{-i\omega t}dt$

传统逆傅里叶变换的定义为(积分形式):$f(t)=\mathcal{F}^{-1}{F(\omega)}=\frac{1}{2\pi}\int F(\omega)e^{i\omega t}d\omega$

卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积 $$f\ast g=\mathcal{F}^{

Read more

11.《Python数据分析》时间序列

常见的三种时间格式:时间戳(timestamp),时期(period),时间间隔(interval)

pandas内置了很多处理时间序列的工具和算法

pandas也支持将时间间隔(interval)作为索引使用,只是本书未提及

1 日期和时间数据类型及用法

除了pandas,本章还会用到datetime(用的最多)、time以及calendar这三个模块

代码示例:

from datetime import datetime
now

Read more

10.《Python数据分析》数据聚合与分组计算

1 分组机制

按照指定的行列取值进行分组,并按组进行计算(求和、均值、标准差等)

代码示例:

df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'],
                    'key2' : ['one', 'two', 'o

Read more