08 2022 档案
摘要:SVM(Support Vector Machines) 支持向量机 引言 svm有很多的实现,此处介绍最流行的一种实现 序列最小化 SMO(Sequential Minimal Optimizaiton) 核函数(Kernel): 将SVM扩展到更多的数据集上 基于最大间隔分割数据 优点: 泛化错
阅读全文
摘要:LogisticRegression逻辑回归 引言: 机器学习 解决的问题,大体上分为两种 预测 和 分类。 预测: 一般采用是回归模型,比如最常用的 线性回归; 分类:采用的有 决策树,KNN, 支持向量机, 朴素贝叶斯等等模型。 其实本质上来讲是一样的,都是通过对已有数据的学习,构建模型,然后对
阅读全文
摘要:贝叶斯算法 引言 机器学习中,如KNN,逻辑回归,决策树等模型都是判别方法, 也就是直接学习出输出特征y和输入特征x之间的关系(决策函数:y = f(x) 或者条件分布P(Y|X))。 朴素贝叶斯是生成方法,直接找出输出特征y和输入特征x的联合分布P(X, Y),进而通过P(Y|X)=P(X, Y)
阅读全文
摘要:决策树 概念 决策树(Decision Tree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对数据进行分类的过程。它可以认为是if-then规则的集合。 优点: 1)可以自学习。在学习过程中不需要使用者了解过多的背景知识,只需要对训练数据进行较好的标注,就能进行学习
阅读全文
摘要:数组 二分法查找 前提 数组为有序数组; 数组中没有重复元素。 优点 逻辑简单 难点 涉及很多边界条件,对区间定义不清楚,二分法则容易写乱 解决方法: 原则: 循环不变量规则 二分查找中,保持区间不变量,在循环寻找中每一次边界的处理都要坚持区间的定义来操作, 方式: 左闭右闭 左闭右开 左闭右闭 第
阅读全文
摘要:数组理论基础 数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力 也就是说,想法很简单,但实现起来 可能就不是那么回事了。 首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的面试题 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便
阅读全文
摘要:内存管理 不同语言的内存管理 不同语言的内存管理方式: C/C++这种内存堆空间的申请和释放完全靠自己管理 Java 依赖JVM来做内存管理,不了解jvm内存管理的机制,很可能会因一些错误的代码写法而导致内存泄漏或内存溢出 Python内存管理是由私有堆空间管理的,所有的python对象和数据结构都
阅读全文
摘要:算法性能提升总结 巧用hash表 利用hash,来进行映射,从而降低代码的复杂度,和冗余度 eg: 求两个数之和 class Solution: def twoSum(self, nums: List[int], target: int)->List[int]: """ 暴力方法实现时间复杂度为O(
阅读全文
摘要:算法性能分析 时间复杂度分析 递归算法的时间复杂度 例题一: 求x的n次方 用一道题目,同样使用递归算法, 有的写出了O(n)的代码,有的写出了O(longn)的代码 时间复杂度为:O(n) 最直观的写法, 一个for循环求出结果,代码如下: def sample_1(x, n): result =
阅读全文