- 博客(14)
- 收藏
- 关注
原创 leetcode栈_队列_堆刷题
1. 栈是后进先出的数据结构2. 用数组实现栈的数据结构,是其具有如下功能:压栈、弹栈、取栈顶元素、判断栈是否为空以及获取栈中的元素个数class MyStack: def __init__(self): """ Initialize your data structure here. """ self.item = [] def push(self, x: int) -> None: """
2020-09-30 09:52:50
131
原创 leetcode字符串刷题
344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, m
2020-07-26 22:12:53
184
原创 pytorch学习笔记本
torch 下:nn、autograd 、mm、 optimnn下: functional、Parameter、BCEWithLogitsLoss、Sequential 、Module神经网络搭建的简单过程#导入常用的库import numpy as npimport torchfrom torch import nnfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyp
2020-07-09 15:14:45
260
原创 数组leetcode刷题笔记
27.移除元素class Solution: def removeElement(self, nums: List[int], val: int) -> int: count = 0 for i in range(len(nums)): if nums[i] ==val: count +=1 elif nums[i] !=val and count>0:
2020-07-09 00:09:39
376
原创 python数据结构笔记之数组
一个数组存有N+1个自然数,其中包含有N个不同的自然数,从中筛选出重复的自然数法1:#用新的字典存储元素和元素对应的个数def findDup(array): if array == None: return -1 else: lens = len(array) h = dict() i =0 while i < lens-1: h[i] = 0 i.
2020-05-23 14:53:04
116
原创 Bagging能降低方差的一种理解
Bagging由多个并行训练的弱学习器集合而成,模型的方差是指模型对样本输出值关于数据集的方差,由于模型是泛化误差分解得到的一部分(周志华西瓜书),所以我们希望模型的方差尽可能小,对每个样本xxx, 假设每个弱学习器iii在不同数据集上的对样本xxx的输出服从...
2020-04-19 14:00:45
1649
2
原创 GBDT
集成学习:1.boosting AdaBoost boosting tree(GBDT)2.bagging ramdon forestAdaBoost:向前分布算法 弱分类器自行选择 用前一轮迭代的误差率来更新迭代下一轮的权重GBDT:向前分布算法 用cart tree作为基分类器,迭代方式有所不同迭代方式不同之处CART tree原理思想:不断拟合损失去极小化损失函...
2020-03-25 09:10:32
103
原创 python数据结构学习笔记
链表定义:class Lnode: def __init__(self,x): self.data = x self.next = None生成一个无头链表head:cur = Lnode(1)head = cur i = 2while i<8 : tmp = Lnode(i) tmp.next = None cu...
2020-03-23 21:49:31
227
原创 梯度下降法
损失参数:J(θ)J(\theta)J(θ)对参数朝着梯度下降的方向不断更新迭代直到收敛未知θi:=θi−α∂∂θjL(θ)\theta_{i}:=\theta_{i}-\alpha \frac{\partial}{\partial \theta_{j}}L(\theta)θi:=θi−α∂θj∂L(θ)...
2020-03-02 23:36:20
137
原创 AdaBoost算法的推导以及误差分析
本文利用向前分布算法详细推导AdaBoost算法。首先对向前分布向前分布算法进行的简单介绍。向前分布算法向前分布算法学习得到的是加法模型:f(x)=∑m=1MαmG(x;γm)f(x)=\sum_{m=1}^{M}\alpha_{m}G(x;\gamma_{m})f(x)=m=1∑MαmG(x;γm)其中,G(x;γm)G(x;\gamma_{m})G(x;γm)是基学习器,γm\...
2020-02-29 16:30:07
833
原创 支持向量机二分类问题推广到多分类问题
将二分类问题推广到多分类问题,这里介绍两种策略,一个是一对其余策略,另外一个是一对一策略。一对其余策略对于C分类问题需构造C个二分类最优超平面第1个二分类问题,把第1类看作是正类,其余看作负类;第2个二分类问题,把第2类看作正类,其余看作负类;以此类推…;第C个二分类问题,把第C类看作正类,其余看作负类。设第iii个二分类问题的最优超平面为(ωi,bi)(\omega_{i},b_{...
2020-02-26 10:32:46
1641
原创 非线性支持向量机
非线性支持向量机对于非线性可分的数据集,无法直接用超平面对数据进行分类。但我们可以将数据投影到新的空间中,使得数据在新的空间是线性可分的,再在这个空间用使用线性分类方法如支持向量机模型进行分类。在上述的支持向量机模型当中,我们只需要计算到样本之间的内积,假设ϕ(x)\phi(x)ϕ(x)是原始空间中到新空间的映射,则在新的空间中计算分隔超平面只需要用到内积(ϕ(xi)⋅ϕ(xj))(\phi(...
2020-02-25 16:40:26
398
原创 线性支持向量机
线性支持向量机实际当中大多数数据集都不是线性可分的,线性支持向量机主要是针对去掉少数样本之后线性可分样本数据集。线性不可分即意味着由少数样本点不能满足函数间隔大于等于1的约束条件,因此可以对每一个样本点加上一个松弛变量,并对每个松弛变量进行惩罚。于是原始问题变为:...
2020-02-25 11:52:14
194
原创 线性可分支持向量机
定义支持向量机分类用超平面对数据进行分割,选择使两类数据集的间隔达到最大的超平面,所学习到的超平面称为支持向量机。根据不同类型的数据,相应有不同的支持向量机模型。超平面ω⋅x−x0=ω⋅x+b=0\omega\cdot{x-x_{0}} =\omega\cdot{x}+b=0ω⋅x−x0=ω⋅x+b=0ω\omegaω—法向量,x0x_{0}x0—平面上任意一个点数据模...
2020-02-24 14:56:03
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人