机器学习算法系列(1)—前言概括
来源:互联网 发布:百度推广优化方案 编辑:程序博客网 时间:2024/05/16 11:00
一提到机器学习,对于从事数据挖掘或者人工智能的人的来说,可能是非常熟悉的。但对于一个普通的非专业人士来说,可能更多的是听过这个眼下很热的名词,但具体做啥,包括含有哪些算法也不是很清楚明白甚至感觉它是一门高深的学问,其实看机器学习名字起的很高大上,但并不高深。下面主要是自学的过程中对机器学习算法的理解和总结,希望对初学者有一点启发,过程可能会有很多错误和理解局限性,还请大牛们及时指正。
谈到机器学习,现在已经应用到生活的方方面面了,例如人们常说的统计学习、数据挖掘、模式识别、图像识别、物品推荐、语音识别和自然语言处理都属于机器学习的范畴。传统意义上机器学习可以分为三大类:有监督学习、无监督学习和强化学习。那么他们的含义是什么呢?之间又有什么区别呢?官方上的一种定义可以参战如下:
监督学习,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
无监督学习则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。
强化学习,就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在有监督信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。
可能看到定义后大家还是一头雾水(其实感觉这定义都太专业化,对于初学者来说会起到误导作用),下面介绍一下自己如何区分他们的方式:
给定X值,并且给定X值之下也给出对应的Y值,既有(X1,Y1),(X2,Y2),… ...,(Xn,Yn),既是有监督学习问题(一言以蔽之就是给x的同时也给出相对应的y值)。给定X值,没有给定X值之下对应的Y值,既只有X1,X2,X3,……Xn,既是无监督学习问题。对于强化学习,细看下来,分明与监督学习,无监督学习是不同的类别,是机器学习的另一个领域,强化学习更像控制系统家族里的。是的,强化学习里流着控制的血液,披着机器学习的外衣。它关注的是软件代理如何在一个环境中采取行动以便最大化某种累积的回报。一句话:给定数据,学习如何选择一系列行动,以最大化长期收益。
本文主要谈到的是有监督学习和无监督学习。至于强化学习,因为它主要应用在机器人控制方面,至今自己还未有过实践,所以在这里就先不谈了。
谈到监督学习,大体分为线性回归、逻辑回归、贝叶斯算法、神经网络、决策树和支持向量机等算法,如下图:
无监督学习,大体可以分为主成分分析算法、聚类算法和独立成份分析等算法。如下图:
本笔记主要以以上提到的算法来介绍机器学习。
- 机器学习算法系列(1)—前言概括
- 机器学习——前言
- R语言与机器学习-学习笔记1(前言)
- 机器学习系列(二)k-近邻算法(1)
- 梯度下降算法推导(机器学习系列-1)
- 经典机器学习算法系列1-决策树
- 【机器学习系列1】Xgboost算法
- 机器学习算法系列(一)--决策树
- 【机器学习】Andrew Ng——前言
- 【漫谈机器学习】-前言
- spark机器学习-前言
- 机器学习实战--前言
- 基础算法系列--前言
- 【机器学习系列】EM算法
- 机器学习系列----KNN算法
- 全栈开发教学学习系列1——前言
- 机器学习系列(7):Adaboosting算法和KNN算法
- C++基础学习系列——前言
- noip膜你赛day2 总结
- Cow Contest poj 3615
- 栈(stack)与堆(Heap)的区别
- struct hostent结构体
- java开发微信将消息转发到指定客服
- 机器学习算法系列(1)—前言概括
- android的图片选择器selecotr注意事项
- java语言内终极解决乱码问题之 “出入一致法”
- MQTT】在Windows下搭建MQTT服务器
- 数据结构之单链表(头结点)的一些常用操作(增删改查逆)
- SAP MM批次管理(2)批次主数据
- n的阶乘会溢出?解决超大数字阶乘溢出问题。
- 设计模式之单例模式&线程安全
- Tomcat源码解析(2)