机器学习入门
来源:互联网 发布:数据库副本的作用 编辑:程序博客网 时间:2024/06/06 12:32
机器学习(Machine Learning),人工智能的一个分支。由于其定义较多,这里给出wiki上的几个定义:
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
机器学习是对能通过经验自动改进的计算机算法的研究。
机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
通俗一点我觉得就是让机器像人一样学习,让机器从不会到会的过程。由于覆盖面较广,所以机器学习的内容也可以分为不同的类,这里就介绍一种最为简单基础的分类:监督学习、无监督学习、强化学(这里暂且不提半监督学习)
监督学习(Supervised Learning)
wiki给出的定义是:监督学习是一个机器学习中的方法,可以由训练资料中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。
换句话说监督学习就是根据已有数据集,通过构造函数并经过训练之后,使得新的输入数据经过函数运算之后符合已有数据集的数据状态。
已有的数据集是由输入数据(x)和输出数据(y)构成,而监督学习要做的就是在这个基础上,构建一个学习函数,最终使得我们可以通过这个函数来预测一个新的输入数据会产生什么样的结果。而评价一个监督学习函数好不好的条件就是看这个结果是否符合现实情况(即数据集的数据状态)
光是这样说,估计头的晕了,举个例子吧。
假设我们给出的数据集是(0.0)(1.1)(2.2),如下图所示:
那么经过训练之后,我们再输入一个值3,则应该会得到下图:
在训练的时候电脑会根据我们事先给出的训练样本得出这个函数方程y=x,因此最后可以预测成功。如果最后的预测结果不是3,则证明预测失败,预测模型出现了问题,需要改进学习算法(关于具体的学习算法,后面的博客会详细介绍。同样这里只是最为简单的数据集和测试,真实情况远比这个复杂)
无监督学习(Unsupervised Learning)
wiki:非监督式学习是一种机器学习的方式,并不需要人力来输入标签。它是监督式学习和强化学习等策略之外的一种选择。
换言之,就是只给出数据,数据集中不存在输入数据和输出数据的区别,都是x(即输入数据),之后电脑会根据一定的聚类算法(无监督学习算法)根据数据的特性将其分为不同的类。
同样举个例子吧,如下图:(将数据以2D形式展现在坐标轴上。请忽略点的颜色问题,以后会避免这种问题)
在这种情况下,通过聚类算法,可以将上图中的数据按照一定的数据类型进行分类,如下图:
如图所显示的,上述数据就可以将其分为了3种类型,但是每个类型并没有各自的定义,只是按照数据本身的类型进行的分类。这样就完成了一个无监督学习的过程。(同样和监督学习一样,这里的情况是属于非常简单的,具体的算法后面会更新博客来介绍。)
强化学习(Reinforcement Learning)
wiki:强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。
由于我自己没有怎么接触过强化学习,所以接下来只能简单的说一些强化学习的基本概念:
环境(标准的为静态stationary,对应的non-stationary)
agent(与环境交互的对象)
state (当前状态)
动作(action,环境下可行的动作集合)
反馈(reward,激励值)
策略(Policy,agent根据state得到action的策略)
本篇博客的内容就到此为止了,目的只是为了让大家对机器学习有一个大概的了解,后面会不断更新更多的与机器学习相关的博客
- 机器学习入门资料
- 机器学习入门
- 机器学习入门
- 机器学习入门
- 机器学习入门
- 机器学习入门
- 机器学习入门
- 机器学习入门,神经元模型
- 机器学习入门指南
- 机器 学习入门 知识
- 机器学习入门指南
- 机器学习入门
- 机器学习入门书单
- 机器学习 --- 入门
- 机器学习入门 chapter01
- 机器学习入门 chapter02
- 机器学习入门1
- 机器学习入门2
- git使用总结
- HTML嵌入到iOS页面的开发
- 移动端微信开发一些兼容总结(片段)
- 调试 React Native 应用
- Oracle 坏快修复之数据坏快检查(一)
- 机器学习入门
- centos常用命令
- 4-20ma电路
- C/C++ 字符串处理
- ionic开发——自定义弹出框
- logback的使用和logback.xml详解
- Win10修改编辑hosts文件无法保存怎么办
- eclipse将java项目转换成web项目的方法
- 测试React Native