波胆算法时间;学习都包括哪些内容?


机器学习中有很多算法比如说線性回归、Logistic 回归、线性判别分析等等,而这些算法我们在上面的文章中给大家介绍了实际情况在这篇文章中我们会继续为大家介绍一下機器学习算法的相关知识,喜欢人工智能的朋友一定要好好地学起来哟

首先我们给大家介绍一下决策树的知识,决策树是预测建模机器學习的一种重要算法决策树模型的表示是一个二叉树。这是算法和数据结构中的二叉树没什么特别的。每个节点代表一个单独的输入變量x和该变量上的一个分割点而决策树的叶节点包含一个用于预测的输出变量y。通过遍历该树的分割点直到到达一个叶节点并输出该節点的类别值就可以作出预测。当然决策树的有点就是决策树学习速度和预测速度都很快它们还可以解决大量问题,并且不需要对数据莋特别准备

然后我们给大家介绍一下朴素贝叶斯。其实朴素贝叶斯是一个简单但是很强大的预测建模算法而这个模型由两种概率组成,这两种概率都可以直接从训练数据中计算出来第一种就是每个类别的概率,第二种就是给定每个 x 的值每个类别的条件概率。一旦计算出来概率模型可用于使用贝叶斯定理对新数据进行预测。当我们的数据是实值时通常假设一个高斯分布,这样我们可以简单的估计這些概率而朴素贝叶斯之所以是朴素的,是因为它假设每个输入变量是独立的这是一个强大的假设,真实的数据并非如此但是,该技术在大量复杂问题上非常有用所以说,朴素贝叶斯是一个十分实用的功能

最后我们说一下K近邻算法,K近邻算法简称KNN算法KNN 算法非常簡单且有效。KNN的模型表示是整个训练数据集KNN算法在整个训练集中搜索K个最相似实例(近邻)并汇总这K个实例的输出变量,以预测新数据點对于回归问题,这可能是平均输出变量对于分类问题,这可能是众数类别值而其中的诀窍在于如何确定数据实例间的相似性。如果属性的度量单位相同那么最简单的技术是使用欧几里得距离,我们可以根据每个输入变量之间的差值直接计算出来其数值当然,KNN需偠大量内存或空间来存储所有数据但是只有在需要预测时才执行计算。我们还可以随时更新和管理训练实例以保持预测的准确性。

在這篇文章中我们给大家介绍了关于机器学习的算法的另一部分内容其实总的来说机器学习算法都是有自己的特点,这就使得机器学习能夠解决更多的问题希望这篇文章能够更好的帮助大家理解机器学习。

  • 算法的速度指的并非时间而是操作数的增速。
  • 谈论算法的速度时我们说的是随着输入的增加,其运行时间将以什么样的速度增加
  • 算法的运行时间用大O表示法表示
  • O(log n)比O(n)快,当需要搜索的元素越多时前者比后者快得越多

其中x轴代表n值,y轴代表T(n)值(时间复杂度)T(n)值随着n的值的变化而变化,其中鈳以看出O(n!)和O(2?)随着n值的增大它们的T(n)值上升幅度非常大,而O(logn)、O(n)、O(nlogn)随着n值的增大T(n)值上升幅度则很小。
常用的时间复杂度按照耗费的时间从尛到大依次是:

 
O(1)称为常量级算法的时间复杂度是一个常数。
O(n)称为线性级时间复杂度是数据量n的线性函数。
O(n?)称为平方级与数据量n的②次多项式函数属于同一数量级。
O(n?)称为立方级是n的三次多项式函数。
O(logn)称为对数级是n的对数函数。
O(nlogn)称为介于线性级和平方级之间的一種数量级
O(2?)称为指数级与数据量n的指数函数是一个数量级。
O(n!)称为阶乘级与数据量n的阶乘是一个数量级。

我要回帖

 

随机推荐