美文网首页
1.机器学习入门-开篇

1.机器学习入门-开篇

作者: 4ea0af17fd67 | 来源:发表于2019-02-21 14:18 被阅读10次

    人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一,单提及就让人感觉兴奋!

    今天开始入坑机器学习,hello world

    基本概念

    人工智能(Artificial Intelligence 简称AI)自1950年起步

    • 1950-1980 人工智能:指由人创建的具有类似人类智能的机器
    • 1980-210 机器学习:使机器获得类似人类的学习能力
    • 2010-现在 深度学习:试图模仿人类的神经网络,来模仿人类的学习能力。深度指神经网络的层数,学习指类似人类的学习能力。

    三者之间的关系:

    人工智能 AI (Artificial Intelligence) > 机器学习 ML (Machine Learning) > 深度学习 DL (Deep Learning)

    人工智能是一个广泛的概念,指用机器模拟人类的智能,人类的智能有很多种,其中最重要的莫过于学习能力,使用机器模拟人类的学习能力叫做“机器学习”,机器学习是人工智能的一个分支,而人类的学习能力又及其复杂,使用神经网络类似的方式进行学习叫做“深度学习”, 深度学习是机器学习的一个分支,目前最热门的就是深度学习。从程序员的角度看深度学习就是一整套的算法集合。

    什么是机器学习

    数学解释: y=f(x)
    y等于对x取函数f;通过x和y寻找f函数的过程叫做机器学习。
    明确输入x和输出y,算法自动构建模型y的过程,叫机器学习。
    深度学习是以矩阵运算为基础的数学模型。
    矩阵可以表示大量空间和维度的信息。

    机器学习目前适用的领域

    • 图像处理,计算机识别图片
    • 自然语言处理,计算机识别语言
    • 语音处理,计算机识别语音
    • 特性话推荐等其他领域

    机器学习需要工具

    • 计算能力:云计算
    • 数据集合: 大数据
    • 算法:深度学习

    机器学习的基本概念

    数据集

    • 样本数据 label data:用于训练模型的数据集。通常都是高纬矩阵。
    • 训练集 training data:用来训练模型的数据,通常不低于总数据的一半。
    • 交叉验证数据 cross validation data: 交叉验证数据用于衡量训练过程中模型的好坏,因为机器学习算法大部分都不是通过解析法得到的,而是通过不断迭代来慢慢优化模型,所以交叉验证数据就可以用来监视模型训练时候的性能变化。
    • 测试集 testing data:用来测试得到的模型是否合理的数据,是衡量模型好坏的指标

    特征,特征向量

    1. 降低数据维度:通过提取特征向量,把原始数据的维度大大较低,简化模型的参数数量。
    2. 提升模型性能:一个好的特征,可以提前把原始数据最关键的部分提取出来,因此可以提高学习机的性能。

    模型

    1. 基于网络的模型:最典型的就是神经网络,模型有若干层,每一层都有若干个节点,每两个节点之间都有一个可以改变的参数,通过大量非线性的神经元,神经网络就可以逼近任何函数。
    2. 基于核方法的模型:典型的是SVM和gaussian process,SVM把输入向量通过一个核映射到高维空间,然后找到几个超平面把数据分成若干个类别,SVM的核是可以调整。
    3. 基于统计学习的模型:最简单的例子就是贝叶斯学习机,统计学习方法是利用数理统计的数学工具来实现学习机的训练,通常模型中的参数是一些均值方差等统计特征,最终使得预测正确概率的期望达到最大。

    学习类型

    • 监督学习 supervised learning:数据集是有标签的,就是说对于给出的样本我们是知道答案的,我们大部分学到的模型都是属于这一类的,包括线性分类器、支持向量机等等;我们从小到大在学校的学习方式都是监督学习。
    • 无监督学习 unsupervised:跟监督学习相反,数据集市完全没有标签的,主要的依据是相似的样本在数据空间中一般距离是相近的,这样就能通过距离的计算把样本分类,这样就完全不需要lablle,比如著名的kmeans算法就是无监督学习应用最广泛的算法;
    • 半监督学习:半监督学习一般针对的问题是数据量超级大但是有标签数据很少或者说标签数据的获取很难很贵的情况,训练的时候有一部分是有标签的而有一部分是没有的;
    • 强化学习:一直激励学习的方式,通过激励函数来让模型不断根据遇到的情况做出调整;

    损失函数 loss function

    损失函数(loss function)更严谨地讲应该叫做目标函数,因为在统计学习中有一种目标函数是最大化预测正确的期望概率,我们这里只考虑常见的损失函数。

    优化函数

    我们又了目标函数,也就是损失函数,现在我需要一个东西根据损失值来不断更新模型参数,这个东西就叫做优化函数。优化函数的作用就是在参数空间找到损失函数的最优解。梯度下降法是最熟知的优化函数,大家都用下山来形象描述这个算法。假如我们在山上,我们的目标是找到这座山的最低处(最小化损失函数),一个很简单的思路就是我找到当前位置下山角度最大的方向,然后朝着这个方向走,如下图所示

    当然这种方法有个问题就是会陷入局部最优点(局部凹坑)出不来,所以各种更加好的优化函数逐渐被大家发现。一个好的优化函数应该有两个性能指标:拥有跳出局部最优解找到全局最优解的能力;拥有更快的收敛速度。

    泛化能力、欠拟合和过拟合

    • 泛化能力(generalization ability)是指机器学习模型对未知数据的预测能力,是学习方法本质上重要的性质,现实中采用最多的办法是通过误差来评价学习方法的泛化能力。但是这种评价是依赖测试数据集的,因为测试数据集是有限的,所以这种思路也不能说是完全靠谱,因此有人专门研究泛化误差来更好的表达泛化能力。

    • 欠拟合(underfitting)和过拟合(overfitting)是两种要尽可能避免的模型训练现象,出现这两种现象就说明模型没有达到一个比较理想的泛化能力。欠拟合是指模型复杂度太低,使得模型能表达的泛化能力不够,对测试样本和训练样本都没有很好的预测性能。过拟合则相反,是模型复杂度太高,使得模型对训练样本有很好的预测性能,但是对测试样本的预测性能很差,最终泛化能力也不行

    偏差,误差和方差

    Bias(偏差),Error(误差),和Variance(方差)三者是容易混淆的概念
    Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。如下图所示,随着模型的复杂度增加,模型预测的偏差会越来越小,但是方差越来越大,预测结果的分布会散开来。

    相关文章

      网友评论

          本文标题:1.机器学习入门-开篇

          本文链接:https://www.haomeiwen.com/subject/kpwckqtx.html