1 向量数据库概述
“向量数据”:向量数据是由多个数值组成的序列,可以表示数据的大小和方向
向量数据库是一种专门用于存储和查询向量数据的数据库系统,
- 与传统数据库相比,向量数据库使用向量化计算,能够高速地处理大规模的复杂数据
- 可以处理高维数据,例如图像、音频和视频等,解决传统关系型数据库中的痛点
- 支持复杂的查询操作,也可以轻松地扩展到多个节点,以处理更大规模的数据
局
分类目录归档:学习
“向量数据”:向量数据是由多个数值组成的序列,可以表示数据的大小和方向
向量数据库是一种专门用于存储和查询向量数据的数据库系统,
局
# Credits: https://linuxhandbook.com/clear-pip-cache/
pip cache info # 查看缓存信息
pip cache list # 查找各个包的缓存
pip cache dir # 查找缓存所在的目录
pip cache remove [package_name] # 从缓存中删除特定包
pip cache remove *
Streamlit 是一个 Python 库,能够用于使用 Python 创建可交互的、数据驱动的网页应用
pip install streamlit # 安装
streamlit hello # 测试安装是否成功
启动命令:streamlit run your_script.py [-- script args]
快速上手:Streamlit 快速上手
常用技巧:
LDA 算法是一种监督学习的降维技术
LDA算法降维流程如下:
输入:数据集 $D = { (x_1,y_1),(x_2,y_2), ... ,(x_m,y_m) }$,其中样本 $x_i$ 是n维向量,$y_i \in {C_1, C_2, ..., C_k}$
最常用的10个超参数(原生API,兼容Scikit-learn的API,常见取值范围):
num_boost_round
:训练期间所需要的基学习器数量,默认100;在应对较大数据集时,一般控制在5000~10000左右(影响训练时间的重要因素);一个常用技巧是先设定一个较高的数值,然后结合early-stopping来获得一个较优的模DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的、对噪声鲁棒的空间聚类方法)是一种基于密度的经典聚类算法
启发式算法(Heuristic Algorithms)通常是以问题为导向的(Problem Specific),没有一个通用的框架,每个不同的问题通常设计一个不同的启发式算法,通常被用来解组合优化问题
普通启发式算法一般是一种贪婪算法,需要根据特定问题进行特定设计
贪婪算法,也叫贪心算法
其基本思想是:每一步都采取当前状态下最好的选择,而不考虑全局最优解是否已经达到。在每一步中,贪心算法都会做出一个贪心决策,即选择当前状态下最优的解决方案,并且不考虑这个决策可能会导致的未来后果
以经典的装包问
蚁群算法(Ant Colony Algorithm,ACA)由Marco Dorigo于1992年在他的博士论文中首次提出,该算法模拟了自然界中蚂蚁的觅食行为。
蚂蚁寻径的生物过程:
P问题:能在多项式时间内解决的问题,比如快速排序/冒泡排序
NP问题:能在多项式时间内验证得出一个正确解的问题(不确保在多项式时间内找到答案)
NP-Complete(NPC)问题:属于NP问题,其他所有属于NP的问题都可以规约成它
规约(Reduction):将问题A转化为问题B,使用问题B的解来解问题A
如果问题A可规约为问题B,说明问题B的时间复杂度要大于或等于问题A的时间复杂度,即问题B的难度一般要比问题A大(毕竟B答案能解A,A不一定能解