Hands-On Machine Learning with Scikit-Learn and Tensorflow 学习笔记(一)

  

一、机器学习概览

本书假定你对机器学习几乎一无所知。它的目标是给你实际实现能够从数据中学习的程序所 需的概念,直觉和工具。

https://github.com/ageron/handson-ml 是 Jupyter notebooks上的代码示例。

机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督学习、非监督学习、 半监督学习和强化学习。

另一个用来分类机器学习的准则是,它是否能从导入的数据流进行持续学习批量和在线学习

另一种分类机器学习的方法是判断它们是如何进行归纳推广的。大多机器学习任务是关于预 测的。这意味着给定一定数量的训练样本,系统需要能推广到之前没见到过的样本。对训练 数据集有很好的性能还不够,真正的目标是对新实例预测的性能。
有两种主要的归纳方法:基于实例学习和基于模型学习

使用    Scikit-Learn    训练并运行线性模型步骤:

  1. 研究数据
  2. 选择模型
  3. 用训练数据进行训练(即,学习算法搜寻模型参数值,使代价函数最小)
  4. 最后,使用模型对新案例进行预测(这称作推断),但愿这个模型推广效果不差
     

机器学习的主要挑战

  1. 训练数据量不足
  2. 没有代表性的训练数据
  3. 低质量数据
  4. 不相关的特征(特征工程=特征选择+特征提取+收集新数据创建新特征。)
  5. 过拟合训练数据
  6. 欠拟合训练数据

回顾:

  • 机器学习是让机器通过学习数据对某些任务做得更好,而不使用确定的代码规则。
  • 有许多不同类型的机器学习系统:监督或非监督,批量或在线,基于实例或基于模型, 等等。
  • 在机器学习项目中,我们从训练集中收集数据,然后对学习算法进行训练。如果算法是 基于模型的,就调节一些参数,让模型拟合到训练集(即,对训练集本身作出好的预 测),然后希望它对新样本也能有好预测。如果算法是基于实例的,就是用记忆学习样 本,然后用相似度推广到新实例。
  • 如果训练集太小、数据没有代表性、含有噪声、或掺有不相关的特征(垃圾进,垃圾 出),系统的性能不会好。最后,模型不能太简单(会发生欠拟合)或太复杂(会发生 过拟合)。

 

 

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章