zoukankan      html  css  js  c++  java
  • 人工智能,机器学习笔记

    1.人工智能的核心 --》 机器学习 --》 深度学习 --》 神经网络

    2.深度学习的工作流程:

    a。训练样本

    b。特征抽取

    c。学习函数

    d。预测

    3.人工智能的运用范围: 自然语言处理 ; 计算机视觉 等

    4.深度学习的框架:

    a。caffe:不需要写代码;1.数据处理;2.定义网络;3.指定参数;4.训练模型

    b。tensorflow:google开发的,需要写代码(python)

    5.python在数据科学方面需要用到的库:

    a。Numpy:科学计算库

    b。Pandas:数据分析处理库

    c。Matplotlib:数据可视化库

    d。Scikit-learn:机器学习库

    6.深度学习路线图       人工智能--深度学习---神经网络

    基础篇:
    Python 编程,微积分基础、线性代数基础以及统计学基础
    数学基础:线性代数、微积分、概率论、统计学
    python:数据分析

    进阶篇
    机器学习:监督学习,非监督学习,增强学习和深度学习

    各种算法

    高级篇
    项目


    出师篇
    应用很广
    发展方向 也很广

    7.机器学习的一般框架:

    训练集=》提取特征向量=》结合一定的算法(分类器:比如决策数,KNN)=》得到结果

    8.

    9.《周志华  机器学习》笔记

    1.没有免费的午餐定理:
    在机器学习中存在一个普适定理--没有免费的午餐(No Free Lunch Theorem,NFL定理)。NFL定理的具体描述为
    1)对所有可能的的目标函数求平均,得到的所有学习算法的“非训练集误差”的期望值相同;
    2)对任意固定的训练集,对所有的目标函数求平均,得到的所有学习算法的“非训练集误差”的期望值也相同;
    3)对所有的先验知识求平均,得到的所有学习算法的的“非训练集误差”的期望值也相同;
    4)对任意固定的训练集,对所有的先验知识求平均,得到的所有学习算法的的“非训练集误差”的期望值也相同;
    NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。
    平常所说的一个学习算法比另一个算法更“优越”,效果更好,只是针对特定的问题,特定的先验信息,数据的分布,训练样本的数目,代价或奖励函数等。
    NFL定理可以进一步的引出一个普适的“守恒率”--对每一个可行的学习算法来说,它们的性能对所有可能的目标函数的求和结果确切地为零。即我们要想在某些问题上得到正的性能的提高,必须在一些问题上付出等量的负的性能的代价!比如时间复杂度和空间复杂度。
    实际上,NFL定理并不是局限在机器学习领域,在我们所处的现在这个已知的宇宙中,NFL定理也总是成立的,就像能量守恒。


    2.奥卡姆剃刀定律
    别称:奥康的剃刀;简单性原则
    内容:如无必要,勿增实体
    切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。
    如今奥卡姆剃刀常用于两种或两种以上假说的取舍上:如果对于同一现象有两种或多种不同的假说,我们应该采取比较简单或可证伪的那一种,世界客观存在即是建立在客观实践之上,正所谓实践是检验真理的唯一标准。
    对奥卡姆剃刀在机器学习领域的作用一直存在争议,它并非科学研究中唯一可行的假设选择原则,比如还有“多释原则”:主张保留与经验观察一致的所有假设,这与集成学习方面的研究更加吻合。


    3.
    错误率:分类错误的样本/样本总数
    误差:学习器的实际预测输出与样本的真实输出之间的差异。
    精度:1-错误率
    训练误差(经验误差):在训练样本上的误差。
    泛化误差:在新样本上的误差
    过拟合(过配):把训练样本学习的太好了。把训练样本自身的一些特点当作所有潜在样本都会有的一般性质。
    欠拟合(欠配):对训练样本的一般性质尚未学好。

    相同数据,不同算法,能得出不同的学习器(模型、经验)。
    不同数据,相同算法,能得出不同的学习器(模型、经验)。
    模型选择:那我们该选择哪一种学习算法,使用哪一种参数配置呢?解决方案是:对几个模型的泛化误差进行评估,选择泛化误差最小的那个模型。
    泛化误差难获取,训练误差又受过拟合影响,所有,评估方法一般采用测试集的测试误差来估计泛化误差的近似。
    “留出法”:直接将数据集D划分成俩个互斥的集合,一个是训练集S,一个是测试集T。比率大约2/3~4/5之间。然后重复做个n次,取这n次的一个平均值。

    交叉验证法(k折交叉验证):将数据集D划分为k个大小相似的互斥子集,然后用k-1个子集做训练集,余下的那个子集做测试集,最后得到k个测试结果,去平均值。k一般有10,5,20。
    当k=样本个数时,叫“留一法”。

    自助法:

  • 相关阅读:
    人事管理系统案例
    匹马行天下之思维决定高度篇——教你如何爱上“编程妹子”
    抽象类和接口详解
    Servlet教程详解
    Java匹马行天下之J2EE框架开发——Spring—>用IDEA开发Spring程序(01)
    Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少
    匹马行天下之思维决定高度篇——编程“价”更高
    编程自学网站分享——网络老师金旭亮(很不错哦,自学的建议看看)
    匹马行天下之思维决定高度篇——大学再努力,培训机构做兄弟
    怀念Galois
  • 原文地址:https://www.cnblogs.com/afangxin/p/6898965.html
Copyright © 2011-2022 走看看