- 博客(73)
- 资源 (1)
- 收藏
- 关注
原创 Transformer 中 比较晦涩难懂的东西
Transformer中比较晦涩难懂的东西,你想知道的输出层输入什么等等内容都详细写在这里了!!!
2022-04-10 22:15:37
1444
原创 图像处理代码1【改变格式、缩略图、切九宫格】
# -*- coding:utf-8 -*-# Author: I_am_Vic (PL Z)# Product_name: PyCharm# File_name: CV_Preprocess# @Time: 10:01 2022/2/12import osimport sysfrom PIL import Image, TarIOdef Image_FormPreprocess_to_X(in_path="data/", X=".jpg"):
2022-02-12 22:35:13
1776
原创 # keras学习【入门基础】-- 看完就入门
前驱课程: 《吴恩达深度学习》听完课才有一些专有名词的概念首先是导库import tensorflow as tffrom tensorflow import keras张量设置和使用创建恒定张量x = tf.constant([[1,3], [1, 2]])# 可使用.numpy() 改变typex.numpy()矩阵创建# 1/0矩阵tf.ones(shape=(,))tf.zeros(shape=(,))# 正态分布tf.random.normal(shape=(
2021-10-20 16:36:39
284
原创 NLP 的各项任务简单介绍(笔记)
英文部分:Combinatory Categorical Grammar( 组合分类语法 )Common sense ( 常识推理 )常识推理任务旨在要求模型超越模式识别。相反,模型应该使用“常识”或世界知识来进行推理。Constituency parsing ( 选区理解 )选区解析的目的是从句子中提取基于选区的解析树,根据短语结构语法表示其句法结构。例子: Sentence (S) | +---------
2021-09-30 23:52:27
1133
原创 Keras API认识笔记
from tensorflow import keras.backend as KK.backend.shape(X) # 返回张量 可以看成列表,可以有下标K.all(x, axis=None, keepdims=False) # AND操作,按照轴的选定K.cast(x, dtype) # 改变数据类型,返回的是指定dtype的xK.floatx() # 'float32' # 一维张量(简单理解为数组)K.arange(start, stop=None,..
2021-08-14 22:24:28
172
原创 Transformer
个人理解笔记,并不是全面讲解Self-Attention首先随机初始化Wq,Wk,Wv (个人认为W列对应神经元个数,行是单词的词嵌入长度)X(这里是好多个单词摆放成一个矩阵)乘W(qkv三个矩阵)得到对应的权重q,k,v(X每一行是一个0词)dk是键向量的维度当前一个单词(X的每一行(这里单词按行堆叠)),(当前单词的)q与(与其他单词的)ki(这些k由其他单词x乘Wk得到)分别多次点积除以sqrt(dk)再softmax归一化后得到一个值(个人记作Si(每一个ki对应一个Si,也对应一
2021-08-13 18:37:16
1211
原创 Keras函数式API
优点:可以不同于sequential,能够有共享层以及多个输入输出简单介绍Sequentialfrom keras.models import Sequentialfrom keras.layers import Dense#构造model = Sequential([Dense(2, input_shape(1, )), Dense(1)])# ormodel = Sequential()model.add(Dense(2, input_shape(1,)))model.add(D.
2021-08-12 14:58:06
110
原创 同济版高数(下)复习提纲
文章目录第八章 向量代数及空间解析几何第一节第二节第三节 平面及其方程第四节 空间直线及其方程第五节 曲面及其方程第六节 空间曲线及其方程第九章 多元函数微分法及其应用第一节 多元函数的基本概念第二节 偏导数第三节 全微分第四节 多元复合函数的求导法则第五节 隐函数的求导公式第六节 多元函数微分学的几何应用第七节 方向导数与梯度第八节 多元函数的极值及其求法第十章 重积分第一节 二重积分的概念与性质第二节 二重积分的计算法第三节 三重积分第四节 重积分的应用第十一章 曲线积分与曲面积分第一节 第一类曲线
2021-06-16 17:34:18
1507
原创 sklearn中的数据预处理和特征工程----【5】嵌入法
嵌入法过程:将所有特征都放入一个循环。这个循环会选出特征子集投入算法进行模型评估。如此反复嵌入法的结果会更加精确到模型的效用本身,对于提高模型效力有更好的效果。但他也有缺点:嵌入法使用的权值系数没有像p值这样能够界定范围的。大量特征对模型有贡献且贡献不一,就很难界定有效的临界值。 计算速度依赖于算法模型的数据。元变换器,可以与任何在拟合后具有coef_,feature_importances_或者参数中可选惩罚项的评估其一起使用(随机森林和树模型就有feature_importances_;逻
2021-06-14 16:39:24
291
原创 sklearn中的数据预处理和特征工程----【4】相关性过滤
文章目录卡方过滤F检验互信息法过滤法总结寻找与标签有相关性的特征。卡方过滤专门针对离散型标签(分类问题)相关过滤类 feature_selection.chi2计算每个非负(不能计算负数,要进行归一化或者标准化)特征和标签之间的卡方统计量,越高越好(相关性越强)如果检测的方差为0的数据,会提示先用方差过滤结合 feature_selectio.SelectKbest选出卡方分数最高的K个from sklearn.feature_selection import Select
2021-06-11 16:50:01
943
原创 sklearn中的数据预处理和特征工程----【3】方差过滤
Feature Engineering【VarianceThreshold】Feature Extraction从文字,图像,声音等其他非结构化数据提取新信息作为特征Feature Creation已有的特征进行组合,或者相互计算,得到新的特征Feature Selection从所有特征中选择出有意义的,对模型有帮助的特征达到降低计算成本的效果Step**step1 理解业务:**根据常识对项目的数据进行判断相关性从而理解数据无法理解特征过滤嵌入包装降
2021-06-10 22:33:49
889
2
原创 基于python的数据结构之【哈希表ADT】
在python中的 dict 和 set 查找速度很快,内部就是散列表(也叫作哈希表)数组通过下标访问,时间O(1),删除要O(n)链表遍历访问,时间O(n)哈希表就是一种快速定位和删除元素的方法。除了利用元素下标找到,还有一种就是找到【逻辑下标】,再找到这个元素。他通过哈希函数计算一个元素应该放在哪个位置,然后对于一个特定的元素,哈希函数每次计算的下标要一样,而且范围不能超过给定的数组长度举例:有一个数组T,包含M=13个元素,定义一个哈希函数hh(key) = ke
2021-06-10 17:28:25
424
原创 基于python的数据结构之【栈】
栈(LIFO结构){datamethod{pushpopis_empty\begin{cases}data\\method\begin{cases}push\\pop\\is\_empty\end{cases}\end{cases}⎩⎪⎪⎪⎨⎪⎪⎪⎧datamethod⎩⎪⎨⎪⎧pushpopis_empty# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name:
2021-06-09 15:16:37
213
2
原创 基于python的数据结构之【双端队列】
python里边有的append,appendleft,clear,count,extend,extendleft,pop,popleft,remove…最基础有:[append, appendleft, pop, popleft] 希望是O(1)的时间复杂度而在过去的内容中有循环双端队列是可以实现的,在这里就将其继承,然后实现以上功能就好了。都比较简单。# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name:
2021-06-09 15:16:26
219
2
原创 基于python的数据结构之【数组Queue】
思路:需要队头队尾指针push操作:每次push, head + 1pop操作:pop队尾,tail + 1确保len(Queue) <= array_size到头之后取模返回就行这一点十分重要,这是能够无限进行pop和push的关键计算方法。不管# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: arrayQ # @
2021-06-08 22:13:13
268
原创 基于python的数据结构 之 【对列(FIFO结构)】
# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: Queue # @Time: 23:10 2021/6/6from linked_list import * # 利用链表进行队列数据结构 在上一篇博客哦!class Queue(object): def __init__(self, maxsize=None):
2021-06-06 23:40:33
138
1
原创 基于python的数据结构 之 【单链表】
# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_name: PyCharm# File_name: linked list # @Time: 21:58 2021/5/17""" 1、 {root、length 2、 {init、append、appendleft、iter_node、remove、find、popleft、clear"""class Node(obje
2021-06-06 23:28:43
225
原创 基于python的数据结构 之 【双向循环链表】
单链表缺点:remove 时间O(n)单向遍历双链表:有pre结点和next结点循环双端链表:属性:data : root、maxsize、lengthmethod:headnode、tailnode、append、appendleft、remove (这个变为O(1)的时间复杂度)、iter_node、iter_node_reverse# -*- coding:utf-8 -*-# Author: Greed_Vic(PL Z)# Product_n
2021-06-06 16:35:10
105
原创 Leetcode每日刷题【中】--Day 25
不记录简单题目在这里了。1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?前缀和,简单判断之后就可以了。是双百哈哈哈哈。但官方的题解还是强太多了。class Solution: def canEat(self, candiesCount: List[int], queries: List[List[int]]) -> List[bool]: Bools = [] a = list(accumulate(candiesCount))
2021-06-01 23:38:32
114
原创 Leetcode每日刷题【中】--Day 23
第 53 场双周赛记录(前三题)长度为三且各字符不同的子字符串很简单的一道题,利用三个指针,一次多一个单位,同步向右逐个遍历。满足都不相等就记录一次。class Solution: def countGoodSubstrings(self, s: str) -> int: a, b, c = 0, 1, 2 count = 0 for _ in range(len(s)-2): if s[a]!=s[b] and s
2021-05-30 09:48:39
83
原创 Leetcode每日刷题【中】--Day 22
477. 汉明距离总和拿到这道题,率先看了一下数组长度,暴力解题可能超时。必备知识:有m个0,1的数,找出两两不同的数对会有几个(这就是明汉距离)。只需要数出0有n个,答案就是n*(m-n)个知道上边的知识点,利用二进制逐位去计算求和就可以了。class Solution: def totalHammingDistance(self, nums: List[int]) -> int: distance = 0 for i in range(30):
2021-05-28 15:36:48
70
原创 sklearn中的数据预处理和特征工程----【2】代码及参数解释【学习笔记】
编码与哑变量将文字型数据转换为数值型。LabelEncoder(标签专用,把分类转换成数值分类)from sklearn.preprocessing import LabelEncoder# 找出数据中的一列特征y = data.iloc[:, -1]# 使用LabelEncoderle = LabelEncoder() # 初始化le = le.fit(y) label = le.transform(y)######################### 一步到位le.f..
2021-05-28 11:50:21
422
原创 sklearn中的数据预处理和特征工程----【1】代码及参数解释【学习笔记】
如果数据不给力,在高级的算法都没有用。五大步骤获取数据数据预处理检测、纠正或删除损坏、不准确、不适用的数据过程例如:数据类型(文字、数字、时间序列、连续、离散、噪声、异常、缺失值、出错、量纲不一、重复偏态)目的:让数据适应模型,匹配需求。特征工程将特征转换成更能代表预测模型潜在问题的过程方法:挑选最相关的、提取特征、创造特征:降维或者计算问题:特征间有相关性、特征和标签无关、 太多或者太小、干脆无法表达或展示数据的真实面貌目的:降低计算成本、提升模型上限建模并且测试模型
2021-05-28 00:22:01
368
原创 Leetcode每日刷题【中】--Day 21
633. 平方数之和用两种方式解这道题吧第一种:双指针很明显一个数如果能被开放,就会有 0**2 + sqrt(c)**2 == c若满足那就从这里开始,a == 0, b == int(sqrt(c))进行从两边到中间的进行查找查找条件:如果左边大于右边,那就是b比较大,b要往左边移动;反之a比较小,a往右边移动class Solution: def judgeSquareSum(self, c: int) -> bool: b = int(sqrt(c))
2021-05-27 12:01:56
114
原创 Leetcode每日刷题【易】--Day 20
461. 汉明距离一道easy题,让我学到了很多极其常规想法,对2取模,比较记录。class Solution: def hammingDistance(self, x: int, y: int) -> int: distance = 0 while True: if x%2 != y%2: distance += 1 x //= 2 y //= 2
2021-05-27 01:46:41
107
原创 Leetcode每日刷题【难】--Day 19
76. 最小覆盖子串终于想出来了,看着C++题解,其++变量实数不可忽视。被坑了几个小时这道题的使用到的是双指针的知识点。具体要用到滑动窗口,这个在条件判断的时候会比较麻烦~具体解析:先记录一下目标中的字符种类及其个数再利用双指针逐个遍历字符串s过程中要2个步骤:**1.先要找到一个区间:区间里边要有目标字符(包含种类和个数要求) ** 2.进行滑动:这里分两个条件,①先滑动左边界,找到尽可能小的区间和起点;②如果不满足第一个条件,则进行右边界扩大,达到步骤1之后就进行步骤2
2021-05-25 21:48:21
96
原创 简单的调参学习
评估指标有 : score , oob_score衡量模型在未知数据上准确率 ---- Genelization error当模型在未知数据(测试集或者袋外数据)上表现糟糕时,模型的泛化程度不够模型复杂度受到参数影响通过学习曲线(在上一篇的随机森林学习中有体现)通过网格搜索(其他博主博客)方差与偏差一个集成模型(f)在未知数据集(D)上的泛化误差E(f;D),由方差(var),偏差(bais)和噪声(ε)共同决定。E(f;D)=bias2(x)+var(
2021-05-24 18:32:43
116
原创 Sklearn 中的随机森林 【学习笔记--含有尝试代码可用】
首先记录一下集成算法集成学习算法 集成学习(ensemble learning)是通过在数据上构建多个模型,集成所有模型的建模结果。有随机森林(比较基础),梯度提升树(GBDT),Xgboost等集成算法。集成算法的目标集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。多个模型集成成为的模型叫做集成评估器(ensemble estimator),组成集成评估器的每个模型都叫做基评估器(base estimator)。通常来说,有三类集成方法:
2021-05-24 17:44:53
420
1
原创 Leetcode每日刷题【中】--Day 18
167. 两数之和 II - 输入有序数组双指针思路:由于答案肯定只有一个,只需要头尾开始遍历就好了,而遍历的条件:1.如果当前的和太大,那一定是右边的错,右边得减小;2.如果太小,则左边的错,左边得移动到更大的位置。class Solution: def twoSum(self, numbers: List[int], target: int) -> List[int]: left = 0 right = len(numbers)-1 w
2021-05-24 15:30:43
112
原创 Leetcode每日刷题【中】--Day 17 (含周赛前两题)
力扣第242场周赛,前两题。为啥是前两题?因为菜hhhh~5763. 哪种连续子字符串更长简单地数 数代码丑,简单题能快点过就好了。虽然卡了一会儿class Solution: def checkZeroOnes(self, s: str) -> bool: atotal, btotal = [], [] a, b = 0, 0 last = s[0] length = len(s) flag = s[
2021-05-23 12:33:13
101
原创 Sklearn 中的决策树(分类)【学习笔记--含有尝试代码可用】
模块 sklearn.tree共有5类不包括集成算法tree.DecisionTreeClassifier分类树tree.DecisionTreeRegression回归树tree.export_graphviz将生成的决策树导出为DOT格式,画图专用tree.ExtraTreeClassifier高随机版本分类树tree.ExtraTreeRegression高随机版本回归树使用步骤只有三步实例化,建立评估模型对象(实例化需要使用到参数)通.
2021-05-23 02:29:34
784
原创 决策树(分类)原理笔记
----分类树(非参数有监督学习方法)决策树是一种应用广泛的归纳推理算法,在分类问题中,决策树算法基于特征样本进行分类构成一棵包含一系列if-then规则的树数学上,解释为:定义在特征空间与类空间上的条件概率分布。优点:分类速度快、健壮性好、模型具有可读性应用:医疗诊断,贷款风险评估等领域非参数:不用太多处理数据有监督:需要输入标签例子:一个人出去打球与否和天气的特征关系:构成:Node and Directed EdgeNode: Internal Node(for一些特
2021-05-22 19:09:20
483
原创 Leetcode每日刷题【难】--Day 16
810. 黑板异或游戏博弈看了题解才懂的,这个过程需要捉住偶数这个破题的重点:如果数组长度为偶数一开始异或和为0,则直接先手获胜一开始如果异或不为0,则至少有2个数a, b使得整个数组异或不为零:这里进行拆分数组a, b, *Z = num;如果 a^b^Z != 0,则 至少存在a != b -> a^b!=0(疑惑:如果 a==b,Z != 0 解惑:则Z中存在 另一对数a, b,使得Z != 0)所以 一定有 a != b取完:因为偶数个数,如果一直取数,最后取完就是先手胜
2021-05-22 13:23:40
159
2
原创 Leetcode每日刷题【中】--Day 15
很惭愧,现在即将结束才开始做题1035. 不相交的线过0点了,不行,一定要堆起来,不能断,先发了,周六再补解析class Solution: def maxUncrossedLines(self, nums1: List[int], nums2: List[int]) -> int: m = len(nums1) n = len(nums2) dp = [[0]*(n+1) for _ in range(m+1)] for
2021-05-22 00:01:32
89
原创 Leetcode每日刷题【中】--Day 14
692. 前K个高频单词这道题比较简单,可能对于 “完成它” 是比较简单,因为针对python来说是很简单的操作。对于不熟悉的我来说,python的一些细节内容还是不太熟悉,所以进行《流畅的Python》的学习,也在持续更进!这里需要使用items()进行键值的遍历,否则好像得不到值。如果需要多条件排序,就在匿名函数中写上对应的位置就好了,具体等以后明白。刚开始排序的时候,直接就根据频次从小到大排列了,忽略寻找时若从后往前会导致:这前K个的排序不满足若频次相同则进行字母排序的要求。如果这样,单词
2021-05-20 19:12:28
95
原创 图像识别和文字处理--【2】
CAPTCHA–全自动区分计算机和人类的图灵测试这里有一个小故事–首次描述的图灵测试,而这个测试最终成为了拦截正常的人类用户方式
2021-05-19 17:03:28
184
1
原创 Leetcode每日刷题【中】--Day 13
1738. 找出第 K 大的异或坐标值又是前缀和,连续几次被调教到了,这次终于翻身一次了!似乎比官方部分题解要节约用时和节省空间的思路还是像之前的一样,前缀异或,然后在python找出第k大那是易如饮水的事了。但是重点要理解一句话矩阵中坐标 (a, b) 的 值 由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到这里画个图之后,就能够很容易理解题意了。图片在下方
2021-05-19 16:15:00
88
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人