快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法
1、什么是机器学习?
机器学习的概念:
- 传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。这样的方式计算机是无法执行固定流程之外的东西的 。
- 但是现实生活中,有很多无法被量化的东西,比如约会的时候要不要提前到,西瓜是否好吃,要不要录用一个人,人类在做事情的时候,解决问题的时候,大多数是懂得变通,不会那么死板的 。
- 那么一个人是如何实现变通的呢?答案就是学习。维基百科对学习的定义是:学习是通过外界教授或从自身经验提高能力的过程。 所以人在解决问题的过程中,会使用已有的经验 ,以及通过经验得到的某种规律 ,并用此来预测可能会发生的事情 ,以做出相应调整 。
- 那么机器学习就是,给机器经验(数据),通过某种算法(学习),让机器得到对应的规律,来完成一些相对具有变通性的无法确定描述的任务(手写字体识别,广告推荐,区分猫狗)
机器学习、人工智能、深度学习的关系:
——人工智能包含机器学习,机器学习包含深度学习。
- 机器学习的定义:机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。——Arthur Samuel
- 机器学习不是某种具体的算法,而是很多算法的统称。机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括支持向量机,决策树,K近邻,贝叶斯等等。
- 深度学习的灵感来自大脑的结构,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
- 不管是机器学习还是深度学习,都属于人工智能(AI)。人工智能中还包括了自然语言处理(NLP), 计算机视觉(CV)等等多个领域。
机器学习的原理(概念):
——教小朋友区分猫猫和狗狗
- 首先给小朋友很多猫猫和狗狗的图片(数据训练集),告诉他哪些是猫哪些是狗(数据标注)。
- 小朋友发现猫猫长的更圆一点,小一点,,狗狗更大一点,颜色更深一点(特征集)。最后总结出了某种规律(模型),可以区别猫猫和狗狗。
2、机器学习的分类
机器学习根据训练方法一般大致可以分为3大类:
- 监督学习
- 非监督学习
- 强化学习
有监督学习:
- 即存在外界知道的学习,比如看到一只动物时,家长主动告诉小朋友这是一只猫,不是一只狗,通过不断的观察和指导(提供了正确答案,即 数据标签 ),小朋友就形成了猫和狗的概念。
- 有监督学习主要包括分类和回归 两大类。分类对应的为有限选择项的标签,比如根据身高体重年龄判断性别,根据图像选择数字。回归对应的标签为数值,比如根据年龄,学历,工作经验预测人的收入,这是一个范围的数值。
- 数据集一般包括训练集和测试集,前者用于训练,后者用于测试。
无监督学习:
- 无监督学习即不提供数据标签。比如小朋友很多次看到猫和狗,虽然并没有被告知是猫还是狗,但是再次看到已经能够区分他们了,这就是聚类。
- 无监督学习只有聚类 一种。聚类在实际应用场景中一般价值更高,因为大多数天然数据并不包含聚类。
- 半监督学习:结合了有监督学习和无监督学习,例如先通过无监督学习对数据进行聚类,再人工标注,在进行有监督学习。
增强学习:
- 强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
- 最典型的场景就是打游戏,比如Google的AlphaGo下围棋,或者自动跑FlappyBird游戏等。通过在历史数据中归纳和总结经验,在面对新状态时,尽可能使得目标函数做出最优行动。
附:
此外机器学习还有主动学习,迁移学习,集成学习等多种模式。
- 主动学习:边学习边标注
- 迁移学习:从一个域(Domain)迁移(Transfer)到另一个域
- 集成学习:融合多个弱模型形成一个强的模型。
3、机器学习的流程和难点
学习的流程
预处理:通过清洗数据,提高数据质量。
数据重塑、缺失值处理(补全、统计为缺失特征)特征工程:在整个项目中占60%以上,关系到后期模型的潜力和提升空间。
特征没做好,参数调到老。在已有的特征上生成新的特征,数值、类别特征选择、降维:筛选上面选出来的特征,保留相关性最强的特征,提高性能
基于MIC、Pearson 相关系数、正则化方法、模型,PCA、tSNE训练模型、调参:尝试各种学习模型并比较性能,选择最优的。
单模型,多模型融合,集成评估模型:有些模型可能能跑出训练集跑不出测试集。
正确率(Acurracy)、准确值(Pecision)、召回值(Recall)、F 值、AUC
机器学习的两大难点:
维度灾难:
高维度的 数据量过大,特征数过多 ,导致模型过于复杂,训练和计算成本无法估计。
但是一些模型低维度能实现很好的性能,在高维度下无法取得很好的效果。
因此实际过程中一般更看重简单的模型,需要再性能和成本之间做出权衡。过拟合:
过拟合指的是模型缺乏泛化能力 :即在训练集上训练的模型,能够在训练集上取得很好的性能,却无法在测试集上跑出合适的性能,
一般来说,模型越复杂,学习能力越强,泛化能力越弱,越容易过拟合 。所以在性能相似的情况下,更青睐简单的模型。比如说身高和体重的关系,如果简单线性模型就能完成任务,那么就尽可能不要使用曲线。
为了防止过拟合,在训练过程中,一般会使用正则化 等方法。正则化指的是,在训练过程中,认为的引入一些误差,从而避免模型过度拟合训练数据中的特征和标签之间的对应关系,而是把注意力更多的放在学习通用而泛化的关系和规律上 。
过拟合往往会把人工智能训练成人工智障,比如扫地机器人不断制造垃圾再扫,比如飞机开局直接坠落,等等奇怪的模型。
(overfitting 过拟合,其实就是机器的sterotype----刻板印象 。看到一个新疆小偷,就把小偷这个属性赋予所有新疆人。三短一长选择最长的,不会蒙就c。)
4、机器学习常见模型及代码实现
机器学习的代码实现:
——使用Python的scikit-learn可以完成机器学习领域的大部分工作。
有监督的学习(分类,回归):
- 线性回归 LR
将每条记录表示为一个m维的向量x,m表示记录的特征向量。
记y=kx+b, y和b为模型输出和偏置向量。训练时根据已有数据调整k和b,对于每一条记录,计算x得出对应的y,并比较y与真实记录的误差,使用梯度下降法对损失函数求导,并根据梯度下降的方向调整模型的参数。 - Logistic回归
在线性回归的基础上,令公式为y = logit(kx+b),其中logit函数对每个输入的向量的每一个值都进行了归一化处理,消除了原本向量x中可能存在的负数,并且让非负向量加起来为1,可以对应每个类别的输出概率。 - 贝叶斯 NB
选择概率最大的分类,各个分类的概率可以通过训练集统计获得。 - K近邻 KNN
为了确定一条记录的标签,可以找出训练记录中距离其最近的K条记录。
如果需要分类,则选出K条记录中出现最多的分类标签。
如果回归,则K条记录加权求和,权重和距离成反比,距离越远权重越小即可。 - 决策树 DT
根据训练集的数据,确定树的结构,每个非叶节点对应的判断条件和叶子节点对应的标签分类。 - 支持向量机 SVM
记录所在点的原始空间,通过一些可选的函数,将原空间变换到另一空间,在新空间里寻找margin 最大的分界面。
无监督的学习(聚类)
- K-Means
初始化中心,不断迭代,EM 算法
将无标注的数据汇聚成K类,使得同一类记录之间特征相似,不同类差异显著。
随机选择K个点作为初始聚类中心化,每轮迭代将记录点分配到对应的聚类中,选择最近的归类。然后根据所有的记录点的位置,修正中心点的位置。
神经网络(有监督-无监督都可)
- 深度学习
将神经元看做一个包含输入,处理,输出的单元。
无数个神经元彼此连接,遵循相似的结构呈现激活或抑制,从而完成神经信号的处理和传递。
快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法相关推荐
- 机器学习(Machine Learning)基础
机器学习(Machine Learning)基础 概念及用途 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.它是人工智能的核心,是使计 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)
机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料集合
机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...
- 机器学习 Machine Learning 深度学习 Deep Learning 资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- (转)机器学习(Machine Learning)深度学习(Deep Learning)资料
原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
- Re:从零开始的机器学习 - Machine Learning(一) 线性回归
从我对整个职业生涯的规划出发,我不仅想做一些高质量的应用(软件工程的角度),还想做一些激动人心的应用,所以我希望能在机器学习的方向走,尽管我在大学粗浅的学了些皮毛,但如果要把机器学习作为职业发展的话这 ...
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics
数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么
数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...
最新文章
- Spring Cloud Config采用Git存储时两种常用的配置策略
- 利用Python进行数据分析-07-汇总和计算描述统计
- oracle升级12.2,Oracle 11.2.0.4升级到12.2.0.1
- java第五周课后作业
- F28335第一篇——看门狗的开断
- c++ 连接webservice实例
- 计算机组成原理第5版第六章答案,计算机组成原理第六章答案.docx
- elementui二维表动态渲染
- (附源码)node.js物资管理系统 毕业设计 071130
- 如何用计算机算工资,个人工资计算器避税
- oracle表空间缩减操作手册
- NOIP原题 斗地主(20190804)
- 关于在onclick事件传参
- 《经济半小时》 20130906 指尖上的商机(五)数据时代
- 5分钟,关于Python 解包,你需要知道的一切
- 游标v_cur的%notfound
- 尚硅谷-互联网大厂高频重点面试题 (第2季)JUC多线程及高并发
- ORACLE集群管理-核心资源分析-MDNS
- END-USER LICENSE AGREEMENT of Atelier Juvenil Pardo APP
- 永磁同步电机的MTPA最大转矩电流比控制算法的仿真模型,有详细的算法设计文档