一、什么是机器学习?

  计算机程序利用经验E(训练数据)学习任务T(要做什么,即目标),性能是P(性能指标),如果针对任务T的性能P随着经验E不断增长,成为机器学习。【这是汤姆米切尔在1997年定义】

  大白话:类比于学生学习考试,你先练习一套有一套的模拟卷 (这就相当于训练数据),在这几套模拟卷上能得到差不多的成绩的时候(这个就是在训练数据得到的性能指标P理想),然后去考试(应用到实际生产生活中去)。这就是机器学习的类比。

二、机器学习的好处

  传统的编程技术完成的程序会在动态变化的生产环境中难以维护,机器学习容易维护。另一个优点就是机器学习善于处理对于传统方法太复杂或者没有已知算法的问题。可以将机器学习应用到数据挖掘发现数据价值。(知道就好)

三、机器学习分类

  • 是否在人类监督下进行训练(其实是是否使用有标签的训练数据进行训练,大白话:学生用的试卷是否带有正确答案)——监督学习、半监督学习、非监督学习、强化学习
  • 是否是动态渐进学习——在线学习和批量学习
  • 是否建立预测模型——基于实例学习和基于模型学习

  1、监督学习

  使用带标签的训练数据

  重要算法:K邻近算法、线性回归、逻辑回归(其实是分类)、支持向量机(SVM)、决策树和随机森林、神经网络(深度学习是这个的延伸)

  2、非监督学习

  使用不带标签的训练数据

  重要算法:①、聚类:K均值、层次聚类分析(HCA)、期望最大值;②、可视化和降维:主成分分析(PCA)、核主成分分析、局部线性嵌入(LLE)、t-分布邻域嵌入算法(t-SNE);③、关联性规则学习:Apriori算法、Eclat算法

  3、半监督学习

  使用大量不带标签数据加上小部分带标签数据

  大多数是监督和非监督算法的结合——深度信念年网络(deep belief network)是基于受限玻尔兹曼进行非监督训练,在进行监督学习训练。

  4、强化学习

  和前几种非常不同,更像是一个反馈网络,通过奖励和惩罚完成学习。

无论选择那种学习方法,一个典型的机器学习流程就是:研究数据、选择模型、使用训练数据训练、使用训练出来的模型对新数据进行预测。

四、机器学习挑战

   数据质量较差、过拟合和欠拟合。

Hands on Machine Learning with Sklearn and TensorFlow学习笔记——机器学习概览的更多相关文章

  1. Machine Learning In Action 第二章学习笔记: kNN算法

    本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数 ...

  2. Hands on Machine Learning with sklearn and TensorFlow —— 一个完整的机器学习项目(加州房地产)

    数据集地址:https://github.com/ageron/handson-ml/tree/master/datasets 先行知识准备:NumPy,Pandas,Matplotlib的模块使用 ...

  3. 第25月第5天 Hands-on Machine Learning with Scikit-Learn and TensorFlow

    1.apachecn视频(机器学习实战) https://github.com/apachecn/AiLearning https://space.bilibili.com/97678687/#/ch ...

  4. Hands-On Machine Learning with Scikit-Learn and TensorFlow---读书笔记

    去年在北京参加了一次由O'Reilly和Cloudera联合举办的大数据会议Strata Data Conference,并有幸获得了O'Reilly出版的Hands-On Machine Learn ...

  5. tensorflow学习笔记——自编码器及多层感知器

    1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...

  6. tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)

    tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...

  7. TensorFlow学习笔记——LeNet-5(训练自己的数据集)

    在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...

  8. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  9. TensorFlow学习笔记5-概率与信息论

    TensorFlow学习笔记5-概率与信息论 本笔记内容为"概率与信息论的基础知识".内容主要参考<Deep Learning>中文版. \(X\)表示训练集的设计矩阵 ...

随机推荐

  1. Day5 JDBC

    JDBC的简介 Java  Database Connectivity:连接数据库技术. SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),使用同一套程序操作不同的数 ...

  2. 集合之hascode方法

    在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分, ...

  3. 自动搭建ssm项目

    手把手教你搭建ssm项目 注意,必须修改:包名.数据库名称.账号.密码 注意:必须配置好第一次,“引入后”才能配置第二次 第一步:打开idea选择创建maven项目 import java.io.*; ...

  4. webStorm常用设置之过滤文件夹

    webStorm是一款很好用的前端IDE,但是不能否认的是webStorm很重,没有sublime轻便 尤其是项目cnpm后,加载node_modules时的状态,简直想那块豆腐自杀有莫有,就算你耐心 ...

  5. webpack一小时入门

    什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以 ...

  6. 再起航,我的学习笔记之JavaScript设计模式05(简单工厂模式)

    我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前几 ...

  7. 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)

    前言:了解就行,不必深究 上一篇链接 http://www.cnblogs.com/yangfengwu/p/8720148.html 源码链接:https://pan.baidu.com/s/1wT ...

  8. K2 BPM介绍(1)

    K2 BPM介绍(1) 官网访问地址: 中文官网 英文官网 它是一个强大的BPM产品 K2 BPM详解 产品特性 与任何内容集成 Integrate with Anything 功能丰富的窗体 Fea ...

  9. 非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)

    int f (int & I) { cout<<I<<std::endl; } void main() { long L; f(L); // 编译不过 f((int)L ...

  10. iOS:WKWebView(19-01-31更)

    以前用得不多,先开一篇,以后有遇到再补充. 1.返回 2.JS 调用 OC 3.获取.修改.添加网页信息 1.返回 if (self.mWebView.canGoBack == YES) { [sel ...