深度学习
路边草随风
这个作者很懒,什么都没留下…
展开
-
用java实现K-均值聚类(k-means)
首先大家了解一下什么是K-均值聚类,如下:K均值聚类算法是先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚...原创 2019-02-14 22:28:25 · 1266 阅读 · 0 评论 -
用java实现主成分分析(PCA)降维
在机器学习和数据挖掘中,我们经常需要对数据的大量特征进行降维处理,减少训练的运算量和运算时间,而主成分分析(PCA)就是用来进行降维操作的算法。主成分分析(PCA)的描述如下:PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的...原创 2019-03-08 11:01:18 · 5573 阅读 · 9 评论 -
用java实现matlab的随机函数randsrc(m,n,[alphabet; prob])
在机器学习中,matlab作为一个比较强大的工具,它的语言对矩阵运算支持比较完善。而生成随机数的randsrc(m,n,[alphabet; prob])方法可以对矩阵生成指定选择集合并且指定集合元素概率的随机数矩阵。而我在使用java实现一些机器学习算法的时候需要生成类似随机数矩阵没有matlab提供的方法,只能自己实现了。我们看看randsrc(m,n,[alphabet; pro...原创 2019-03-03 13:12:44 · 1950 阅读 · 0 评论 -
用java实现奇异值分解(SVD)
首先奇异值分解(Singular Value Decomposition,以下简称SVD)描述如下:奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。在信号处理,统计学等领域有重要应用。假设M是一个m×n阶矩阵,其中的元素全部属于域 K,也就是实数域或复数域。如此则存在一个分解使得其中U是...原创 2019-03-08 14:25:42 · 1775 阅读 · 1 评论 -
用java实现三层BP神经网络算法
首先大家了解一下BP神经网络,如下:BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。人工神经网络无需事先确定输入输出之间映射关系的数学方程,仅通过自身的训练,学习某种规则,在给定输入值时得到最接近期望输出值的结果。作为一种智能信息处理系...原创 2019-02-23 21:41:11 · 5851 阅读 · 5 评论 -
用java实现分类回归树(CART)
首先我们来了解一下分类回归树(CART),如下:算法描述:其中T代表当前样本集,当前候选属性集用T_attributelist表示。(1)创建根节点N(2)为N分配类别(3)if T都属于同一类别or T中只剩下 一个样本则返回N为叶节点,否则为其分配属性(4)for each T_attributelist中属性执行该属性上的一个划分,计算此划分的GINI系数(5)N的测...原创 2019-02-13 00:09:43 · 1633 阅读 · 4 评论 -
用java实现使用高斯核的局部加权线性回归
首先大家了解一下局部加权线性回归,如下:赋予预测点附近每一个点以一定的权值,在这上面基于最小均方差来进行普通的线性回归。这里面用“核”(与支持向量机相似)来对附近的点赋予最高的权重公式如下:相对于最小二乘回归加入了权重W然后大家了解一下高斯核,如下:即径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数。 通常定义为空间中...原创 2019-02-12 14:32:45 · 856 阅读 · 1 评论 -
用java实现最小二乘回归法
首先大家了解一下最小二乘回归,如下:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。考虑超定方程组(超定指未知数小于方程个数):其中m代表有m个等式,n代表有 n 个未知数 唯一解 :最小二乘法其实初高中数学就有涉及,我们先看看它...原创 2019-02-12 13:15:42 · 1832 阅读 · 1 评论 -
用java实现FP-growth算法
首先我们得了解一下什么是FP-growth算法,如下:FP-Growth算法是韩嘉炜等人在2000年提出的关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息。在算法中使用了一种称为频繁模式树(Frequent Pattern Tree)的数据结构。FP-tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。FP-Growt...原创 2019-02-17 20:39:38 · 1209 阅读 · 1 评论 -
用java实现基于单层决策树的AdaBoost分类器
首先大家了解一下决策树算法,如下:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。我之前使用java实现过决策树算法,链接如下:https://blog.csdn.net/luohual...原创 2019-02-10 18:51:45 · 412 阅读 · 0 评论 -
用java实现Apriori算法
首先大家了解一下Apriori算法,如下:Apriori算法 是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。该算法的基本思想 是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足...原创 2019-02-16 13:51:41 · 1915 阅读 · 0 评论 -
用java实现基于SMO算法的SVM分类器
完整工程代码下载如下,带测试数据:https://download.csdn.net/download/luohualiushui1/10951459首先大家先了解一下SVM的概念,如下:支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义...原创 2019-02-09 19:32:16 · 1584 阅读 · 2 评论 -
用java实现基于Logistic回归和Sigmoid函数的二分类
首先大家了解一下Logistic回归,如下:logistic回归又称logistic回归分析,是一种广义的线性回归分析模型。Logistic 回归通过使用其固有的 logistic 函数估计概率,来衡量因变量与一个或多个自变量(特征)之间的关系。Logistic回归一般是标量的二分归类。然后大家了解一下Sigmoid函数,如下:Sigmoid函数是一个在生物学中常见的S型函数,也称为S...原创 2019-02-07 21:31:37 · 3008 阅读 · 0 评论 -
用java实现基于贝努力模型的朴素贝叶斯分类器
完整工程代码下载地址如下:https://download.csdn.net/download/luohualiushui1/10949880首先大家了解一下贝努力模型,如下:n重贝努利实验:重复进行n次独立的贝努利试验,这里“重复”的意思是指各次试验的条件是相同的,它意味着各次试验中事件发生的概率保持不变。“独立是指是指各次试验的结果是相互独立的。基于n重贝努利试验建立的模型,即为贝...原创 2019-02-06 18:23:28 · 358 阅读 · 0 评论 -
用java实现基于ID3算法的决策树分类器
完整工程代码下载地址:https://download.csdn.net/download/luohualiushui1/10949768首先大家先了解一下深度学习中决策树的概念,如下:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这...原创 2019-02-06 10:44:12 · 1733 阅读 · 1 评论 -
用java实现k-近邻算法分类器
完整工程代码下载路径:https://download.csdn.net/download/luohualiushui1/10949773k-近邻算法可以说是机器学习里面比较简单的算法。它的概念如下:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。我们可以从资料中查到k-近邻算法的python语言实现代码:de...原创 2019-02-04 18:43:05 · 1047 阅读 · 0 评论 -
GT820M显卡使用CUDA的“no kernel image is available for execution on the device”问题解决
最近使用比较老的电脑使用CUDA,一开始安装10.1的windows版本,发现无法使用,经过网上查阅信息发现是显卡驱动不支持,电脑的NVIDIA驱动是390。然后查询到该驱动支持9.0版本的CUDA,便卸载更换为9.0版本,在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\extras\demo_suite目录下的测试程序运行都是...原创 2019-04-22 17:58:37 · 20288 阅读 · 6 评论