- 博客(23)
- 收藏
- 关注
原创 2020.9.24.CNN
CNN主要用来做计算机视觉图像和模板按位相乘,相加数值越大,说明模板和图像越吻合通过模板 3 X 3检测图像 256 X 256的形状每一个数值:原始图像该位置符合模板的强度这种操作就卷积:把一个模板往图像上套256 * 256 套一个 3 * 3 --------- 254 * 254256 - 3 + 1工业界:进来的是256 卷积完之后 出来的也是256->方法:在周边填0 256 -> 257识别圆?设计一个圆形模板: 模板要设置的比
2020-09-24 23:57:54 150
原创 小结(传统+深度)
1.线性回归每个特征对应一个权重,进行加权求和,预测数值结果学习方法:mse最小均方误差如果用DNN做线性回归,仅需要把最后一层分类函数改成一个神经元,该神经元没有激活函数,输出的值域 负无穷~正无穷 损失函数mse2.逻辑回归1.对线性回归的结果进行二次处理, 加上一个sigmoid函数,使得输出为0到1之间有概率意义2. 逻辑回归使用的损失函数是KL距离(不是mse)3. 对于连续值的输入(如年龄,收入)进行离散化,使用one-hot。好处:降低敏感,能够具有非线性的能力。4. 输
2020-09-24 21:57:25 165
原创 面试+题1
简历关键词1面自我介绍:毕业学校,过往经历算法题项目业务问题 — > AI问题 比如预测股票,是个回归的问题(机器学习算法的归类)AI领域面临的问题 比如有数据缺失问题,类别不平衡的问题 解决方法:从性能,场景模型本身的理解: 理论性,说出模型适用场景,优势和不足 e.g w2v 和统计的方法相比的缺点对新词,不能有效增量处理解决方法未来更进一步的做法(想法)4.面试方向a. 问为什么不用xx方法? xx方法时间性能上不行,
2020-09-24 19:41:30 140
原创 常见面试题2
目录1.样本不平衡2.激活函数,为什么sigmoid不好3.梯度消失和梯度爆炸4. DL损失函数介绍5. Relu的问题6. Dropout7.多分类的方法8.W2V的原理9.CNN的原理10. fasttext和cnn在文本分类1.样本不平衡解决方法:上采样 下采样样本数量比较少: 上采样把一个样本重复几次比如原来有10个样本,每个样本重复10遍,就有一百个样本数量比较多: 下采样比如 有1000个样本随机挑100个2.激活函数,为什么sigmoid不好常用激
2020-09-24 15:52:09 152
原创 树
树多叉树从左到右是有序的 问题:元素查找效率低BST二叉搜索树 左子树比较小于根节点, 右子树必须大于根节点 二分查找, 问题:退化链表AVL树二叉树升级: (平衡树) 左右子树高度差<= 1,不然自旋 问题:要自旋红黑树基于AVL树的升级,损失部分查询的性能,提升插入的性能 最低子树和最高子树之差小于2倍即可在插入时,不需要进行多次旋转,而且还加入了变色特性,满足插入和查询性能的平衡...
2020-09-23 11:28:41 95
原创 Trie
Trie小结一个字符串, 把字符串的每一个字符,从前往后的加到一颗多叉树上每个结点p值 : pass 通过值, 当前结点被通过了几次e值: end 首尾值,成为了多少个字符串的结尾每新加一个字符串,都是从头节点出发的如果有走向这个字符的路,就复用。 没有路就新建。头节点开始走,有路就用,没路就建这棵树的作用所有字符串字符数量是n, 建树 O(n)查询 有没有加过 这个字符串‘abd’,加过几次在当前节点 e值多少(哈希表也行)有多少个字符串以 a 作为前缀p值
2020-09-23 11:17:12 100
原创 二叉树(剑指offer)
目录1. 前序+ 中序 重建二叉树1. 前序+ 中序 重建二叉树# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def buildTree(self, p
2020-09-22 18:00:50 102
原创 链表 (剑指offer)
目录1.从尾到头打印链表1. 从尾到头打印链表# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def printListReversingly(self, head): """
2020-09-22 17:54:56 89
原创 二分 (剑指)
目录不修改数组找出重复的数字不修改数组找出重复的数字class Solution(object): def duplicateInArray(self, nums): """ :type nums: List[int] :rtype int """ left, right = 1, len(nums) - 1 while left < right: mid = (l
2020-09-22 17:38:10 77
原创 数组字符串(剑指offer)
目录找出数组中重复的数字找出数组中重复的数字class Solution(object): def duplicateInArray(self, nums): """ :type nums: List[int] :rtype int """ if not nums: return -1 for i in nums: if i < 0 or i
2020-09-22 17:33:10 132
原创 括号问题系列
1. 单括号-判断有效?判断一个括号字符串有效有效: (()) ()() (()())无效: (() )(思路:用一个变量 count当遇到 ( count += 1当遇到 ) count -= 1当count < 0 直接False, 因为没人匹配右遍历完了以后,看count等不等于0,不等于0则False2. 单括号- 至少填几个字符?两个变量 count = 0, need = 0当遇到 ( count += 1当
2020-09-22 16:48:55 364
原创 字符串(中等)
目录LC49. 字母异位词分组 哈希表,元组LC49. 字母异位词分组class Solution(object): def groupAnagrams(self, strs): """ :type strs: List[str] :rtype: List[List[str]] """ dic = {} for s in strs: key = tuple(sorted(
2020-09-22 12:12:51 107
原创 数组(简单题)
目录LC26. 删除排序数组中的重复项LC26. 删除排序数组中的重复项经典双指针:同向快慢思路:如果这个数和前面的数一样,那么这个数就可以被抛弃掉->和前面的数不一样–> 目标 -->放到p2第一个指针p1 遍历一遍,当遇到把和前面数不一样的数,放到第p2的位置, p2记得提前+1, 如果一样,不执行if语句, p1会继续往后走。最后p2是最后一个数的下标class Solution(object): def removeDuplicates(self,
2020-09-22 11:43:51 181
原创 RF
1. Bootstrap从一个数据集中有放回的抽取N次,每次抽M个。 解析:Bagging算法基于bootstrap。面试时结合Bagging算法讲述会更好。2. 过程
2020-09-22 09:57:52 124
原创 XGB笔记
与GBDT的区别GBDT:普通的gbdt就是以cart回归树作为基函数,因此一定要给cart树一个拟合值,即当前gbdt的梯度值XGB :Gain是根据Obj的差值计算出来的,因此这里不需要给定拟合值y,只需要一阶、二阶梯度就可以计算Gain3.✍xgb1.构造目标函数(正则)2.近似目标函数:泰勒展开: 2阶3.把树的结构引入目标函数4.贪心算法优化...
2020-09-21 17:19:14 114
原创 LGB笔记
1.GOSS2. EFB3. Hist4. 不用one-hot 编码xgb是level-wise,lgb是leaf-wise,level-wise指在树分裂的过程中,同一层的非叶子节点,只要继续分裂能够产生正的增益就继续分裂下去,而leaf-wise更苛刻一点,同一层的非叶子节点,仅仅选择分裂增益最大的叶子节点进行分裂。数据并行特征并行 特征并行的主要思想是不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优的分割点 并行是在特征的粒度上并行的(1)XGB在训练之前
2020-09-21 16:42:09 345
原创 GBDT笔记 Gradient Boosted Decision Trees
1. Bagging & Boostingbaggingweek learner: overfittingRF: 并行训练,投票boostingweek learner: underfittingadboost, gbdt,xgboost:串行训练,累加2. 梯度树梯度树 : 基于残差的训练残差: 真实值 - 预测值最终预测 = 模型1预测 + 模型2预测 + …+ 模型n预测3.✍gdbt原理和过程1.目标函数2.泰勒一阶展开情况f(x + m),为什么能直接求偏导 能
2020-09-21 12:13:24 190
原创 K-means笔记
K-means聚类算法过程随机设定k 个 中心点。(初始化参数)循环所有的点,计算与中心点的距离,分到最近的类。(E-step)重新计算中心点(坐标求平均)。(M-step)step2, 3停止条件:肯定会收敛,当不动了目标函数针对每个分类,计算出点到中心点的距离,希望距离的平方和最小.k clustersμk表示第k个类的中心点坐标 \mu_{k} \quad 表示第k个类的中心点坐标μk表示第k个类的中心点坐标rnk={1当xn属于第k类0otherwiser_{
2020-09-21 11:45:39 115
原创 字符串(简单题)
520. 检测大写字母upper()字符串中字母由小写变为大写lower()字符串中字母由大写变为小写capitalize()字符串中字母首字母大写其余小写title()字符串中字母每个单词的首字母大写其余小写全大写 2全小写 3 首字母大写其他小写class Solution(object): def detectCapitalUse(self, word): """ :type word: str :rtype:
2020-09-20 19:35:33 229
原创 螺旋矩阵系列(蛇形矩阵)
螺旋矩阵螺旋矩阵class Solution(object): def spiralOrder(self, matrix): if not matrix: return [] n, m = len(matrix), len(matrix[0]) dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] x = y = di = 0 res = []
2020-09-20 10:28:19 468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人