算法
文章平均质量分 88
qq_32216775
这个作者很懒,什么都没留下…
展开
-
A*算法与matlab实现
A*算法是一种寻路算法,常常被用在游戏智能ai的自动寻路过程等等,它较之于图论的最短路算法而言,更加适用于节点巨大的情况下,但是该算法是一种启发式搜索算法,并不能保证总是找到最优路径。A*的算法思想如下:定义两个函数:f和g,其中f揭示当前点到出发点的距离,g揭示当前点到终点的距离。对于每个将要遍历的点,h=f+g是其启发函数,每次选择待选择节点中启发函数值最大的节点放入路径之中,重复...原创 2017-11-07 15:33:14 · 34873 阅读 · 16 评论 -
寻找最近点对算法
寻找最近点对算法一般而言需要O(n^2)的时间复杂度,即枚举法,分别计算每两个点对之间的距离,取最小。但是还有一种分治算法理论上可以将时间复杂度减小到O(n.log n)的级别。但是由于递归的开销,可能效果并不一定好,具体还要看问题特点。算法描述:①若问题规模小于3,直接枚举法求解。②否则,将点集按照x坐标排序,取中间点。③以中间点的xm坐标为边界,左右分别递归求解,得到左右最短距离④取左右两边递...原创 2018-03-27 11:08:48 · 5592 阅读 · 0 评论 -
matlab+BP神经网络实现手写体数字识别
个人博客文章链接:http://www.huqj.top/article?id=168接着上一篇所说的 BP神经网络,现在用它来实现一个手写体数字的识别程序,训练素材来自吴恩达机器学习课程,我把打包好上传到了网盘上: 1 2 链接:https://pan.baidu.com/s/1_u8zXzkQcY0iS3cgq2k0xg 提取码:4opy...原创 2019-01-08 13:49:10 · 11062 阅读 · 3 评论 -
BP神经网络原理与matlab实现
个人博客文章链接: http://www.huqj.top/article?id=166BP神经网络,即“反向传播”神经网络,是一种被广泛运用的人工神经网络,它的思想就是通过反向传播不断调整模型权重,最终使得模型输出与预期输出的误差控制在一个小范围内。其中反向传播的算法(BP算法)是核心。 一、模型架构 一个普通的神经网络模型大致如下图: 其中第一层称...原创 2019-01-08 13:50:38 · 2396 阅读 · 1 评论 -
过拟合与正则化
个人博客文章链接:http://www.huqj.top/article?id=165 过拟合(over-fitting)是指对于模型的特征选择的过高的次数,导致模型在训练数据集上表现良好但是却不符合实际。为了有一个直观的印象,我们来看下面这个例子: 这是一个训练数据集,红色代表正例,可以发现,一个这个模型的决策边界无法很好的用直线,甚至是二次曲线来描述,下面我们分...原创 2019-01-08 13:52:11 · 839 阅读 · 0 评论 -
逻辑回归原理及matlab实现
个人博客文章链接: http://www.huqj.top/article?id=163对于某些分类问题,自变量可能是连续的,但是因变量却可能是离散的,例如:根据肿瘤大小判断该肿瘤是否是良性。这种问题不适合用线性回归来解决,虽然可以将连续的因变量值映射到离散的分类上,但是效果和训练复杂度都不尽如人意。因此,逻辑回归(logistic regression)就成为了一个解决分类问题的好方法。...原创 2019-01-08 13:54:46 · 14543 阅读 · 1 评论 -
梯度下降法及matlab实现
个人博客文章链接:http://www.huqj.top/article?id=162梯度下降法(gradient descent),是机器学习中最常用的参数调优算法,所谓梯度下降,就是对于一个模型的代价函数而言,从某个初始参数开始,逐渐将参数朝“使得代价函数减小最快”的方向调整,使得代价函数最终稳定在某个值左右。举个例子,对于训练集数据: 1 traini...原创 2019-01-08 13:55:40 · 22562 阅读 · 2 评论