算法笔记
文章平均质量分 88
机器学习 深度学习算法
总裁余(余登武)
这个作者很懒,什么都没留下…
展开
-
动态规划算法思想讲解
动态规划(Dynamic Programming,简称DP)是一种解决问题的算法思想,它将一个大问题拆分成多个相互重叠的子问题,并且通过解决这些子问题来求解原始问题。原创 2023-12-26 19:54:50 · 1001 阅读 · 0 评论 -
牛顿-拉夫逊法 原理讲解以及python算例实现
牛顿-拉夫逊法 原理讲解以及python算例实现原创 2021-11-08 22:09:02 · 7071 阅读 · 0 评论 -
python STL分解
文章目录一、原理二、代码示例一、原理分解函数成三部分:趋势、周期、和剩余部分(一般指噪声,均值为0)分解就是将时序数据分离成不同的成分,分解有:长期趋势Trend、季节性seasonality和随机残差residuals返回包含三个部分 trend(趋势部分) , seasonal(季节性部分) 和residual (残留部分)传入:一个序列,可以是时间序列输出:趋势、周期、和剩余部分 三部分函数详解链接:详解二、代码示例import statsmodels.api as smimpo原创 2021-09-08 23:09:00 · 7006 阅读 · 3 评论 -
leetcode贪心算法题集锦(持续更新中)
leetcode贪心算法题集锦leetcode贪心算法题集锦(持续更新中)。python 和C++编写。原创 2021-07-10 21:40:52 · 726 阅读 · 3 评论 -
一文带你了解隐马尔科夫模型
算法原理 隐形马尔可夫模型,英文是 Hidden Markov Models,所以以下就简称 HMM。既是马尔可夫模型,就一定存在马尔可夫链,该马尔可夫链服从马尔可夫性质:即无记忆性。也就是说,这一时刻的状态,受且只受前一时刻的影响,而不受更往前时刻的状态的影响。 使用非常简单的天气模型来做说明 在这个马尔可夫模型原创 2021-05-01 11:10:09 · 1011 阅读 · 1 评论 -
用图讲解狄克斯特拉(DiskStra)算法,python实现 。
本文用图讲解狄克斯特拉(DiskStra)算法,生动形象。接着用代码演示了算例,分别用散列表和矩阵来讲解算法该怎么实现。并最后说明如何使用DiskStra工具包。...原创 2021-01-07 15:32:35 · 1014 阅读 · 2 评论 -
广度优先搜索算法BFS讲解以及python 实现
本文首先介绍图和广度优先搜索算法的概念,接着通过具体例子讲解广度优先搜索如何实现、有代码,最后打印出最短路径。原创 2021-01-04 16:38:47 · 1729 阅读 · 3 评论 -
一篇带你搞透回溯算法
回溯算法应用场合回溯算法和递归算法一般同时出现,一般递归算法的下面就是回溯的逻辑。一般说递归函数,其实就是回溯函数。回溯一般不会单独出现。回溯法其实是一个纯暴力的搜索算法。有些问题用for循环搜索不出来,必须用回溯算法。以下几种问题必须用回溯。组合问题。N个数里面按一定规则找出k个数的集合。如给定一个数组[1234],从中找出大小为2的集合,结果是12,13,14,23,24,34切割问题。一个字符串按一定规则有几种切割方式。如给定一个字符串,求如何切割保证子串都是回文子串。子集问题。一个N个原创 2020-12-14 15:18:06 · 1027 阅读 · 1 评论 -
神经网络的梯度消失和过拟合产生原因及其解决方案
梯度消失原因当神经网络层数加深时,可能会出现一些问题。梯度消亡:训练过程非常缓慢过拟合,在训练数据上表现得很好,在测试集上表现得很差。梯度消亡的现象:神经网络输入端的网络层的系数逐渐不 再随着训练而变化,或者变化得很缓慢。随着网络层数增加,这个现象越发明显。梯度消失的前提:使用基于梯度的训练方法(梯度下降算法)使用的激活函数具有输出值远远小于输入值的范围,如Logistic,tanh。梯度消亡问题分析梯度下降算法依靠理解系数的微小变化对输出的影响来学习网络系数的值。如果一个系原创 2020-10-29 17:35:45 · 3962 阅读 · 0 评论 -
神经网络的损失函数讲解
本文讲解神经网络中的损失函数,包括分类和回归。原创 2020-10-27 16:03:44 · 7200 阅读 · 1 评论 -
人工智能的本质:最优化 (神经网络优化算法python手写实现)
人工智能的本质就是最优化。假设把任务比作是一碗饭,传统的解决方法,就是根据数学公式,然后一口气吃完饭,如果饭碗小,数学公式还行,如果饭碗大,数学公式能一口吃完饭吗?人工智能的本质就是有很多优化算法,优化算法等于是一口一口吃饭,再大的饭碗也能干。一.梯度下降算法梯度下降是一种非常通用的优化算法。假设在浓雾下,你迷失在了大山中,你只能感受到自己脚下的坡度,为了最快到达山底,最好的方法就是沿着坡度最陡的地方下山。这就是梯度下降。它计算误差函数关于参数θ 的局部梯度,同时它沿着梯度下降的方向进行下一次迭代原创 2020-10-05 16:12:54 · 5536 阅读 · 2 评论 -
基于SVD矩阵分解的用户商品推荐(python实现)
SVD矩阵分解SVD奇异值分解优点:简化数据,去除噪声,提高算法的结果缺点:数据的转换可能难以理解适用范围:数值性数据原始数据data,我们把它分解成3个矩阵。其中只有对角元素,是奇异值。奇异值中数值是按从大到小排列的,r个之后数值为0.。 这点高等数学里有。如果我们把第二个奇异值矩阵中只保留一些值,把其他值全设为0.。从右到左重构数据即得到简化后的数据。如奇异值数据中只保留最大2个奇异值,再重构数据。可以认为原始数据去除了噪声。python实现svdimport numpy原创 2020-08-22 14:52:19 · 3427 阅读 · 1 评论 -
PCA降维原理及其代码实现(附加 sklearn PCA用法参数详解)
学习笔记本篇博文绝大多数来源于书籍《机器学习实战》记录自己的学习笔记而已。 降维作用(1)使得数据集更容易使用(2)降低很多算法的计算开销(3)去除噪声(4)多维数据不容易画图,降低维度容易画图,使结果容易理解。优点:降低数据的复杂性,识别出最重要的多个特征。缺点:不一定需要,有可能损失掉有用信息,仅适用于数值数据。 PCA原理在PCA中,数据从原来的坐标系转换到了新的坐标系。新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一.原创 2020-07-01 14:50:29 · 26628 阅读 · 3 评论 -
动态规划原理介绍(附7个算例,有代码讲解)
动态规划思想动态规划(Dynamicprogramming)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题原创 2020-06-22 10:43:51 · 2808 阅读 · 0 评论 -
小波降噪与重构例子 python
本文首先讲解傅里叶变换的原理和缺陷,然后引出小波变换。讲解小波变换原理,并给出代码。原创 2020-05-26 20:07:00 · 9258 阅读 · 13 评论 -
最短路径Dijkstra讲解,工具包使用 python
Dijkstra讲解原理Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点的集合:T,初始时,原点 s 的路径权重被赋为 0 (dis[s] = 0)。若对于顶点 s 存在能直接到达的边(s,m),则把dis[m]设为w(s, m),同时把所有其他(s不能直接到达的)顶点的路径长度设为无穷大。初始时,集合T只有顶点s然后,从dis数组选择最小值,则该值就是源点s到该值对应的顶点的最短路径,并且把该点加入到T中,此时完成一个顶点原创 2020-06-07 16:08:46 · 1579 阅读 · 0 评论 -
HMM算例 python 有代码
原理原理文字来源于https://www.cnblogs.com/lcj1105/p/4936103.html隐马尔可夫(HMM)好讲,简单易懂不好讲。。还是用最经典的例子,掷骰子。假设我手里有三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8原创 2020-06-01 08:37:59 · 1460 阅读 · 3 评论 -
kmean python实现
机器学习实战一书 kMeans 代码伪代码:创建k个点作为起始聚类中心当任意一个点的簇分配结果发生改变时 对数据集中的每个数据点 对每个聚类中心 计算当前聚类中心与数据点之间的距离 将数据点分配到最近距离的中心点簇 对每一个簇,计算簇中所有点的均值作为中心点 数据import matplotlib.pyplot as pltimport numpy as npdatMat = np.random.random((100原创 2020-05-27 10:55:37 · 670 阅读 · 1 评论