Git Product home page Git Product logo

optimization-algorithms's Introduction

机器学习的算法总结

1 机器学习简介

人工智能是一个非常早而且宽泛的概念。后来人工智能逐渐具体化,机器学习是人工智能最主要的一个分支,以此来实现人工智能。后来随着机器学习和电脑的发展,人们又提出了神经网络算法,这个算法可以模拟人类的大脑决策过程,所以得到了长足的发展,现在依旧非常火。最近一段时间人工智能呼之欲出,更多的人随之研究,因而提出了更好的算法,深度学习算法。深度学习算法和神经网络算法都是模仿人类的大脑细胞,不同之处在于深度学习算法的神经网络层数非常的多,所以称为深度学习。

2 机器学习算法种类

机器学习算法种类很多主要是:线性回归,Logistic 回归,线性判别分析,分类和回归树,朴素贝叶斯,K 最近邻算法,学习向量量化,支持向量机,袋装法和随机森林,Boosting 和 AdaBoost,反向传递神经网络,图论推理算法,回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5,人工神经网络,重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ)。深度学习,常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。

3 优化算法简介

对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题。因此,最优化方法在机器学习算法的推导与实现中占据中心地位。对于机器学习算法,最后基本上都可以推导出一个最优解的公式,对于这样的算法,可以直接使用数学公式求解出最优解,对于不能这样计算的公式,可以使用像倒数这样的工具。还有一种算法是启发式优化算法,这样的算法就是完全不使用公式来计算,只是用经验方法来计算。

4 优化算法种类

4.1 公式解

费马定理,拉格朗日乘数法,KKT条件。这三个给出一个最优化问题精确的公式解,也称为解析解,一般是理论结果。

4.2 总结

梯度下降法,动量项,AdaGrad算法,RMSProp算法,AdaDelta算法,Adam算法,随机梯度下降法,牛顿法,拟牛顿法,可信域牛顿法,分治法,坐标下降法,SMO算法,分阶段优化,动态规划算法。他们是在要给出极值点的精确计算公式非常困难的情况下,用数值计算方法近似求解得到最优点。

4.3 常见各算法对比表

启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、神经网络启发式算法。简单启发式算法:贪心算法,局部搜索,和爬山算法。元启发式算法:禁忌搜索,模拟退火,遗传算法,蚁群算法,粒子群算法。超启发式算法。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.