LeetCode 刷题记录
LeetCode 刷题记录
1 labuladong的算法笔记
From 2024年9月20日
CCF-CSP 刷题记录
CCF-CSP 刷题记录
From 2024年9月20日
CS106L 学习记录
CS106L 学习记录
From 2024年9月20日
CS106L 一周一更。
Self-Learning 序
序
计算机领域是一个庞大的领域,有无数的分支难以全部掌握,每个分支领域都可以说是无止境。所以对于踏入这个领域的人来说,一个明确且清晰的学习规划是非常重要的。我在本科的时候自学和学习走过很多弯路,也躺平过。经过这几年的反思,希望在研究生期间能稳定的发展下去,能在这个浩如烟海的领域里学习更为细致且深入的内容。
由我个人感觉,学习的效率和结果会因为多种因素出现很大的不同,包括但不限于信息壁垒、方法与技巧等
所以我准备写一系列的自学笔记,既是对自己的记录与推进,也是对大家的分享和帮助。人生在世,普通人需要担心的无非就两个,就业与学业。我会从这两个来讲自己的经历与笔记。
就业
由于时间和精力的限制,我只会讲解与自己相关的东西,如果方向与我不一样,也可以参考参考,毕竟大家也许很多地方都会有类似的考虑与疑惑。
对于经历过秋招和春招的我来说,就业不是一个让人迷茫的词。在我看来,准备就业其实只有一个方向,那就是丰富你的简历,在HR眼中也只能看到你的简历。所以我从研一开始就计划着丰富自己的简历,我的一切准备也是从丰富简历开始。接下来的讲解没有先后顺序,他们都同样重要;同样的,我也是在同时准备以下这 ...
如何使用 pytorch 创建一个神经网络
构建神经网络
1 导入所需包
import osimport torchfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import datasets, transforms
2 检查GPU是否可用
device = ( "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu")print(f"Using {device} device")print(torch.__version__)print(torch.cuda.is_available())print(torch.version.cuda)
Using cuda device
2.2.2+cu121
True
12.1
如果发现GPU不可用,可能是因为torch版本 ...
DL-notes:目录
目录
深度学习基础:线性神经网络、多层感知机
卷积神经网络:LeNet、AlexNet、VGG、Inception、ResNet
循环神经网络:RNN、GRU、LSTM、seq2seq
注意力机制:Attention、Transformer
优化算法:SGD、Momentum、Adam
高性能计算:并行、多GPU、分布式
计算机视觉:目标检测、语义分割
自然语言处理:词嵌入、BERT
杂谈
pytorch 环境安装
如何使用 pytorch 创建一个神经网络
参考
李宏毅深度学习教程LeeDL-Tutorial
邱锡鹏神经网络与深度学习NNDL
《动手学深度学习》 — 动手学深度学习 2.0.0 documentation (d2l.ai)
ML-notes:SVM
6 SVM
单细胞数据分析
单细胞数据分析
自2013年被选为年度方法以来,单细胞技术已经足够成熟,可以为复杂的研究问题提供答案。随着单细胞分析技术的发展,从单细胞分析中收集的数据也显著增加,导致处理这些庞大而复杂的数据集的计算挑战。
单细胞RNA测序-数据分析
scanpy 是一个用于分析单细胞转录组(single cell rna sequencing) 数据的python库,文章2018发表在Genome Biology。它和seurat几乎大差不差,但是以Python的生态,完全可以认为其具有更大的扩展潜力。
安装环境(Scanpy单细胞测序学习-环境配置)
公共单细胞数据集
10X Genomics免费提供的外周血单核细胞(PBMC)数据集
Preprocessing and clustering 3k PBMCs (legacy workflow) — scanpy-tutorials 0.1.dev50+g06018e6 documentation
scanpy提供的公开数据集
Datasets — scanpy
开始
1. 载入包
# 载入包import numpy as npimport pan ...
ML-notes:人工神经网络
5 人工神经网络
本章讨论现阶段比较热门的一个监督学习算法————人工神经网络(artificial Neural Network)
神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做的交互反应。
5.1 神经元模型 Neuron
神经网络中最基本的成分便是神经元(Neuron)模型,也就是上面说的适应性简单单元。在神经网络中,每个神经元都与其他神经元相连,当它“兴奋”时,都会向相连的神经元发送化学物质,改变相连的神经元内的电位;如果神经元电位超过了一个“阈值”(threshold),那么该神经元就会兴奋,所以整个神经网络就是通过兴奋和电位来传播信息。
5.1.1 M-P神经元模型
1943年一直沿用至今的 “M-P神经元模型” 便是对这个过程的抽象。
在这个模型中,
神经元收到了来自其他 n 个神经元传递过来的输入信号 xi
而这些输入信号通过带有权重的连接(connection),这些权重又叫连接权(connection weight)。
然后来到细胞体的前部分,它负责计算总输入值(输入信号的加权求和,累积电平)
然后到达后部 ...
ML-notes:决策树
4 决策树
4.1 基本概念
4.1.1 举例子
多分类问题实质上通过划分的方法转化为多个二分类问题进行求解。这次我们将讨论另一种被广泛使用的分类算法–决策树(Decision Tree)。
比如 一个相亲——母女对话:
女儿:多大年纪了?
母亲:26。
女儿:长的帅不帅?
母亲:挺帅的。
女儿:收入高不?
母亲:不算很高,中等情况。
女儿:是公务员不?
母亲:是,在税务局上班呢。
女儿:那好,我去见见。
此例子纯属虚构,不代表广大女性同胞的择偶标准。如有雷同纯属巧合。
我们就可以通过这段对话,画出一个决策树。
4.1.2 决策树
决策树(decision tree):是构建出的一个基于属性的树形
分类器。
每个非叶节点表示一个特征属性上的测试(分割)(判断)
每个分支代表这个特征属性在某个值域上的输出(分支)
每个叶节点存放一个类别(结果)
使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。
4.2 决策树的构建
决策树的构建采用分治法的思想(递归)。而结束递归的条件如 ...