Hands on Machine Learning with Sklearn and TensorFlow学习笔记——机器学习概览
一、什么是机器学习?
计算机程序利用经验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学习笔记——机器学习概览的更多相关文章
- Machine Learning In Action 第二章学习笔记: kNN算法
本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数 ...
- Hands on Machine Learning with sklearn and TensorFlow —— 一个完整的机器学习项目(加州房地产)
数据集地址:https://github.com/ageron/handson-ml/tree/master/datasets 先行知识准备:NumPy,Pandas,Matplotlib的模块使用 ...
- 第25月第5天 Hands-on Machine Learning with Scikit-Learn and TensorFlow
1.apachecn视频(机器学习实战) https://github.com/apachecn/AiLearning https://space.bilibili.com/97678687/#/ch ...
- Hands-On Machine Learning with Scikit-Learn and TensorFlow---读书笔记
去年在北京参加了一次由O'Reilly和Cloudera联合举办的大数据会议Strata Data Conference,并有幸获得了O'Reilly出版的Hands-On Machine Learn ...
- tensorflow学习笔记——自编码器及多层感知器
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...
- TensorFlow学习笔记——LeNet-5(训练自己的数据集)
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- TensorFlow学习笔记5-概率与信息论
TensorFlow学习笔记5-概率与信息论 本笔记内容为"概率与信息论的基础知识".内容主要参考<Deep Learning>中文版. \(X\)表示训练集的设计矩阵 ...
随机推荐
- 项目--解决MySQL数据库插入中文乱码
转载自:http://blog.csdn.net/zzh920625/article/details/51226312 情景再现] 如图,在项目中使用MySQL数据库,在做插入操作时,写入英文字符没有 ...
- 【转】Android中获取应用程序(包)的信息-----PackageManager的使用(一)
转载请注明出处:http://blog.csdn.net/qinjuning 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占 ...
- jenkins权限配置
1. 授权匿名账户权限 2 注册新用户,并且把匿名权限删除,添加用户权限 Overall(全局) Credentials(凭证) Slave(节点) Job(任务) View(视图) Administ ...
- 20155314 2016-2017-2 《Java程序设计》实验三 敏捷开发与XP实践
20155314 2016-2017-2 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验知识点总结 (一)敏捷开发与XP 软件工程:把系统 ...
- Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding and MainAct
Go to your "some_layout.xml" Click right -> Refactor -> Rename (or SHIFT + F6) Renam ...
- nginx 查看版本 查看模块
如图,简单说 大V看模块,小v看版本. nginx -v //查看版本号 nginx -V //查看版本号和加载模块明细
- C# 实现动态加载DLL插件 及HRESULT:0x80131047处理
本代码实现DLL的动态加载, 类似PS里的滤镜插件! 1. 建立一个接口项目类库,此处名称为:Test.IPlugin using System; namespace Test.IPlugin { p ...
- package结构
1.package结构 一个package下常见的文件. 路径有:├── CMakeLists.txt #package的编译规则(必须)├── package.xml #package的描述信息(必 ...
- 1554: SG Value (巧妙的模拟题,也属于思维题)
1554: SG Value Submit Page Summary Time Limit: 5 Sec Memory Limit: 256 Mb Submitted: 4 ...
- POJ 3468 A Simple Problem with Integers(线段树模板之区间增减更新 区间求和查询)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 140120 ...