![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
文章平均质量分 62
Bill Gu
红尘多可笑
展开
-
Huffuman编码与译码C语言实现
Huffuman编码与译码C语言实现原创 2017-04-13 20:46:52 · 717 阅读 · 0 评论 -
朴素贝叶斯算法原理与实现
一、模型我们要求的最终结果是使 P(|X=x)最大的值,而依据贝叶斯定理可知:以上公式中x为,待遇测的样本,c为具体的分类标签,由最后的等式可知分母不会发生变化,要求argminP(|X=x),即求argminP(X=x|Y=|)P(Y=)损失函数为0,1损失函数。二、拉布拉斯平滑从原始模型可以看到,某些情况下概率为0,则整个计算结果为0,这会影响最后的预测结果,所...原创 2018-11-14 23:22:54 · 364 阅读 · 0 评论 -
knn算法原理与实现(2)kd树算法原理和python实现
一、kd树算法分为两步,第一步是构建平衡kd树,第二部是搜索预测数据的最近邻二、构建kd树输入:k维空间数据集T = {},其中 = {},特征维度k,训练样本数维n输出:kd树从第1个特征到第k个特征,每次选择一个特征,找出该特征取值的中位数,以此特征的中位数划分超平面,每次划分都是在之前划分的基础进行的,也就是在上次划分的每个子区间选择下一特征进行划分,当特征用完了,则重新从第...原创 2018-11-05 22:43:03 · 588 阅读 · 1 评论 -
knn算法原理与实现(1)
一、算法原理与模型knn算法即最近邻算法,其原理非常简单即根据给定的数据集,计算数据集中点的特征到待分类数据的欧氏距离,然后选择距离最近的k个作为判断依据,这k个数据中出现类别最多的作为新输入数据的label。模型用公式表示如下:二、python代码实现__author__ = 'Gujun(Bill)'#knn code#2018/03/07import numpy as...原创 2018-11-05 20:02:32 · 279 阅读 · 0 评论 -
为什么梯度负方向的损失函数下降速度是最快
这一问题,网上有很多种解释,今天我主要从数学分析的角度来说一下我的看法。一、什么是梯度根据高等数学中梯度的定义可知梯度一个向量由函数对各个变量的偏导数组成。例如二维函数梯度是,同理三维函数梯度为二、方向导数高数中过点,以为l为方向向量的直线参数方程为z = f(x,y)限制在直线L上变化时可以转换为关于t的一元函数方向导数定义为,其中为l与梯度的夹角,由三角函数...原创 2018-11-05 17:27:53 · 1990 阅读 · 0 评论 -
感知机算法原理及其python实现
感知机算法是机器学习算法中最简单的算法,下面我将从感知机算法原理和算法实现两个方面描述我的一些学习经验,欢迎批评指正和交流。一.感知机模型感知机模型很简单,由以下公式描述:这里对sign(x)这个函数解释下,当x>=0 sign(x)=1; x<0时,sign(x)=-1,w为权重向量,x是输入特征向量,b为偏置二.lost function感知机损失函数,公式...原创 2018-11-05 16:43:56 · 995 阅读 · 0 评论 -
leetcode 01最大矩形求解的两种方法
问题描述:给定一个填充了 0 和 1 的二进制矩阵,找到最大的只包含 1 的矩形并返回其面积。方法一:转化为直方图,以每一行产生一个直方图,从被选中行累加“1”的数目,直到遇到0。然后转化为求直方图的最大矩形,用堆栈法o(n),或者中心扩散法o(n^2)求直方图的最大矩形。总复杂度o(n^3)或o(n^4)代码如下:int maximalRectangle(vector<vector<...原创 2018-04-02 19:56:51 · 4728 阅读 · 0 评论 -
栅栏盛水最大值问题求解
问题描述:给定 n 个正整数 a1,a2,...,an,其中每个点的坐标用(i, ai)表示。 画 n 条直线,使得线 i 的两个端点处于(i,ai)和(i,0)处。请找出其中的两条直线,使得他们与 X 轴形成的容器能够装最多的水。 1.首先想到的是暴力求解复杂度为o(n^2)代码补贴出来了。2.根据实际情况,决定盛水多少的是短板,所以可以进行分析,先把两块板置于两端,如果从板子高度较大端向内移动...原创 2018-04-01 23:55:57 · 249 阅读 · 0 评论 -
非递归栈式回溯与递归法的几个问题
1.迷宫求解2.八皇后非递归#include <stdio.h>#include <math.h>#include <malloc.h>void nQueens(int *x, int n); /*求解n皇后问题*/int place(int *x, int k); /*判断是否可以在第k行第x[k]列摆放皇后*/void p...原创 2018-03-31 18:37:40 · 393 阅读 · 0 评论 -
leetcode关于回文类题目的总结
1. 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。示例:输入: "babad"输出: "bab"注意: "aba"也是有效答案示例:输入: "cbbd"输出: "bb"三种解题思路,第一种遍历所有字串,暴力法,复杂度o(n3),这里就不讲了;第二种,观察发现回文都是对称,由中心向两边扩展,可以遍历每个元素,计算最大的扩展宽度,当然需要考虑,偶数和...原创 2018-03-29 20:01:06 · 239 阅读 · 0 评论 -
决策树(一)ID3和C4.5算法原理与实现
一、预备知识1、信息熵H(p) = (可以从,信息量相加就是独立随机事件相乘来理解,所以需要取对数),熵entropy这个词本身代表不确定性的意思,而不确定性越大,信息量则越大。2、条件熵H(D|A)=,pi表示某一子集占统计量的比列,H(Di)为该子集的信息量3、信息增益g(D,A) = H(D) - H(D|A)4、信息增益比g(D,A) /H(D|A)二、...原创 2018-11-15 00:28:17 · 445 阅读 · 0 评论