• 机器学习入门日记(一)


    数据:

    数据整体叫数据集(data set)

    数据集中的一个个体就是一个样本(sample)

    一个个体的某一个属性的值表达样本的一个特征(feature)

    数据数据部分用X表示,一般第i个样本写作,第i个样本的第j个特征写作.

    其实就是一个特征向量,而且在数学上一般这样一个向量代表着一个列向量,可以转置成行向量.

    通过处理数据集,推导出每个个体所属集合,对于个体集合的描述称为标记(label),用Y表示,写作.

     一般用大写字母表示矩阵,小写字母代表向量.

     当把特征向量投影的对应维度的空间的时候,这个空间就叫特征空间(feature space),

    可以类比平面上面的点,这个就是二维向量投影下来的特征空间.

    如果你特征提取的好,其实不用机器学习,你可以很明显的看出,同一类的数据会聚集到自己类的特征空间内.

    其实分类的过程,就是切分特征空间的过程:

    ,当然实际应用中分割方法肯定不会是一条直线.

    高维空间和二维同理.

    机器学习的基本任务:分类任务,回归任务.

    这个是按照机器学习产生的结果来分类的.

    分类任务:   

      二分类任务:判断邮箱是垃圾邮件,图片中是猫还是狗.

      多分类任务:判断手写数字是几,下围棋,无人驾驶.(其实决策问题可以归结为分类问题).

      多标签分类:在一张图片上分类出多类物品.

    回归任务:回归任务的最主要特点就是,它处理数据集合后,输出的结果,是一个数字的值,而不是类别.

      在一些情况下,回归任务也可以转换成分类任务.

    按照机器学习的算法来分,机器学习可以分为:

    监督学习,非监督学习,半监督学习,增强学习.

    监督学习:

      给机器训练数据拥有"标记"或者答案.

    非监督学习:

      给机器训练数据没有"标记"或者答案,对于没有"标记"的数据进行分类称为聚类分析.

      非监督学习一般用于辅助监督学习,可以对数据进行降维处理:称为特征提取,特征压缩(PCA)

      降维处理的意义在于方便可视化,进行降维之后,就可以进行特征空间的映射,这一步称为数据的可视化,可视化的意义在于便于异常检测,你大学做实验的时候,测出来的数据如果离其他数据非常远,那么我们一般都会排除他.

    半监督学习:

      给机器训练数据一部分拥有"标记"或者答案.

      这种情况产生的原因更加接近生活实际情况由于各种原因没有收集到或者丢失数据.

    增强学习:

      根据周围环境情况,采取行动,根据采取行动的结构,学习行为的方式.

    按照机器学习的训练过程来分,机器学习可以分为:

    批量学习:

      训练出模型之前,输入大量的学习资料,当完成,模型的训练之后,继续输入样例,他也不会改变原来的模型.

      批量学习的优点是简单,但是模型不会再变化了,但是不会适应环境变化了.

      一般的解决办法是定期重新批量学习.但是这样每次重新训练,运算量太大了,如果环境改变很快,那么这种训练方法是不是适用的.

    在线学习:

      在线学习起始和批量学习相同,但是继续输入样例和获取样例的结果,会反过来改进我们的模型.

      优点:可以及时反映新的环境变化.

      缺点:如果没有对数据的监控,那么如果有竞争对手恶意输入,很可能会破坏已经建立好的模型.

    根据学习过程中是否需要参数,机器学习也可以分为参数学习非参数学习.

      参数学习:假设出有哪些参数来描述模型.一般用于回归问题.是去学习参数的具体的值.事实上会有很多种假设.

      非参数学习:不对模型进行过多假设.但是不等于没有参数.

    最后是机器学习的环境配置:

      1.前往https://anaconda.org/ 下载python3版本的,这个东西封装了所有可能会用到的东西,一键就安装好了(需要提一点,安装过程中,一定要勾选那两项,第一个是自动配置环境的意思,第二个是安装封装好的python,勾上可以省去很多麻烦).

      2.双击运行安装好的,点击launch jupyter,默认浏览器会自动启动,并且自动访问http://localhost:8888/tree/(如果你之前第一个没有勾选,那么这一步很可能会出错,不同的电脑可能会优点不同).

      3.检测jupyter是否安装成功,cmd里面输入命令 jupyter --version.

        看到这个说明安装成功.

      4.之后去下载pycharm.基本上就完成了.

  • 相关阅读:
    【C#】Send data between applications
    【C#】Switch datatype between object and byte[]
    【C#】Get the html code of a webpage
    MSIL Hello World
    MonoGame 3.2 下,截屏与 Texture2D 的保存
    mciSendString 的两个小坑
    virtual 修饰符与继承对析构函数的影响(C++)
    让 OpenAL 也支持 S16 Planar(辅以 FFmpeg)
    博客园第一篇——SDL2+FFmpeg 制作简单播放器&同步
    第五次UML作业——结对作业二:班级成绩表
  • 原文地址:https://www.cnblogs.com/miaoliangJUN/p/11977514.html
Copyright © 2020-2023  润新知