基于C#的机器学习--机器学习的基本知识
机器学习的基本知识
,…用n个观测值测量。但我们不再对Y的预测感兴趣,因为我们不再有Y了,我们唯一感兴趣的是在已有的特征上发现数据模式:

在前面的图中,我们可以看到这样的数据本身更适合于非线性方法,在这种方法中,数据似乎是按重要性分组的。它是非线性的,因为我们无法得到一条直线来准确地分离和分类数据。无监督学习允许我们在几乎不知道结果会是什么或应该是什么的情况下解决问题。结构来自于数据本身,而不是应用于输出标签的监督规则。这种结构通常由数据的聚类关系导出。
例如,假设我们有许多个基因来自我们的基因组数据科学实验。我们希望将这些数据分组为类似的片段,如头发颜色、寿命、体重等等。
第二个例子是众所周知的酒会效应,它基本上指的是大脑能够将注意力集中到一件事上,并过滤掉周围的噪音。
这两个示例都可以使用集群来实现它们的目标。
强化学习
强化学习是一种机器被训练为一个特定的结果,唯一的目的是最大化的效率和/或性能。该算法因做出正确的决策而得到奖励,因做出错误的决策而受到惩罚。持续的训练是为了不断提高绩效。持续的学习过程意味着更少的人为干预。马尔可夫模型是强化学习的一个例子,自动驾驶汽车就是这样一个应用的很好的例子。它不断地与环境进行交互,监视障碍物、速度限制、距离、行人等等,以便(希望如此)做出正确的决策。
我们与强化学习最大的不同是我们没有处理正确的输入和输出数据。这里的重点是性能,这意味着需要在看不见的数据和算法已经学过的东西之间找到一种平衡。
算法将一个动作应用到它的环境中,根据它所做的、重复的等行为接受奖励或惩罚,如下图所示。你可以想象一下每秒有多少次这种情况发生在刚刚在酒店接你的自动驾驶出租车上。

构建、购买或开源
接下来,让我们问自己一个非常重要的问题。我们是需要购买、构建还是使用开源?
接触开源世界,这是我的建议,当然也是我写这本书的原因之一。我意识到许多开发人员都有“它不是在这里构建的”综合症,但是在走上这条道路之前,我们应该对自己诚实。我们真的认为我们有能力做得更好、更快、在我们的时间限制内进行测试吗?我们应该先试着看看已经有什么可以使用。有很多很棒的开源工具包可供我们使用,这些工具包的开发人员已经投入了大量的时间和精力来开发和测试它们。显然,开源并不是每个人、每次都可以使用的解决方案,但是即使您不能在应用程序中使用它,也可以通过使用和试验它们获得大量的知识。
购买通常不是一个最佳选择。如果你足够幸运地找到要买的东西,但你可能不会得到批准,因为它将花费一大笔钱!如果你需要修改产品来做你需要的事情,会发生什么?祝您好运,能够访问源代码或者让支持团队为您更改他们的优先级。这中情况几乎不会发生,至少不会像我们需要的那么快。
至于自己构建,嘿,我们是开发者,这是我们都想做的,对吧?但是在您启动Visual Studio之前,请仔细地考虑一下您将要进入的环境。
所以开源应该永远是第一选择。您可以将其引入内部(假设许可允许您这样做),在需要时根据您的标准对其进行调整(代码联系、更多的单元测试、更好的文档,等等)。
总结
在这一章中,我们讨论了机器学习的许多方面,以及实现您的代码的不同策略,如构建、购买或开源,并简单介绍了一些重要的定义。我希望这能让你们为接下来的章节做好准备。
转载请注明出处:https://www.cnblogs.com/wangzhenyao1994/p/10223720.html
文章发表的另一个地址:https://blog.csdn.net/wyz19940328/article/details/85835239
基于C#的机器学习--机器学习的基本知识的更多相关文章
- 机器学习算法的基本知识(使用Python和R代码)
本篇文章是原文的译文,然后自己对其中做了一些修改和添加内容(随机森林和降维算法).文章简洁地介绍了机器学习的主要算法和一些伪代码,对于初学者有很大帮助,是一篇不错的总结文章,后期可以通过文中提到的算法 ...
- H2O是开源基于大数据的机器学习库包
H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...
- 基于Docker的TensorFlow机器学习框架搭建和实例源码解读
概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的 ...
- 初识TPOT:一个基于Python的自动化机器学习开发工具
1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...
- 基于C#的机器学习--机器学习建模的基础
构建ML模型的步骤 现在我们已经看了解到了一些ML应用程序的例子,问题是,我们如何构建这样的ML应用程序和系统? 下图总结了我们使用ML开发应用程序的方法,我们将在下面更详细地讨论这个问题: 如上图所 ...
- 【Numpy】python机器学习包Numpy基础知识学习
一.安装:在之前的博客中已经写过:http://www.cnblogs.com/puyangsky/p/4763234.html 二.python数组切片知识: python中序列类有list.str ...
- 基于ray的分布式机器学习(二)
基本思路:基于parameter server + multiple workers模式.同步方式:parameter server负责网络参数的统一管理,每次迭代均将参数发送给每一个worker,多 ...
- DNS通道检测 国外学术界研究情况——研究方法:基于流量,使用机器学习分类算法居多,也有使用聚类算法的;此外使用域名zif low也有
http://www.ijrter.com/papers/volume-2/issue-4/dns-tunneling-detection.pdf <DNS Tunneling Detectio ...
- 基于steam的游戏销量预测 — PART 3 — 基于BP神经网络的机器学习与预测
语言:c++ 环境:windows 训练内容:根据从steam中爬取的数据经过文本分析制作的向量以及标签 使用相关:无 解释: 就是一个BP神经网络,借鉴参考了一些博客的解释和代码,具体哪些忘了,给出 ...
随机推荐
- Oracle锁处理、解锁方法
1.查询锁情况 select sid,serial#,event,BLOCKING_SESSION from v$session where event like '%TX%'; 2.根据SID查询具 ...
- sizeof 用于返回一个对象或者类型所占据的内存数
整数类型 sizeof(int); 4字节or8字节 函数 sizeof(函数); 函数返回值类型占据的字节数 字符数组 char c[] = "abc"; sizeof(c); ...
- ORACLE->SQL*Loader[20180712]
https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_concepts.htm#g1013706 SQL*Loader将外部 ...
- WebGl 利用缓冲区对象画多个点
效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- css之层叠上下文和层叠顺序
大家在写网页的时候会不会经常遇到莫名奇妙的样式问题,比如谁覆盖了谁.也找不出原因,为什么z-index高的却没有覆盖掉z-index低的元素呢? 带着这些疑问.我做了个小实验.代码如下: <st ...
- work notes
本喵,一个快乐的web开发肥宅程序媛,参与过手机端.电视TV端.电脑端的开发.工作之余,总结了一些经验[避坑指南]分享给大家- 1. webView内嵌h5页面时,如果内嵌的页面有出现手机自带键盘或者 ...
- c# 在WebBrowser中用SendMessage模拟鼠标点击
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 记一次学习PHP中的错误
今天学习PHP时,回想起一段代码 <?php> $i = true; $o = true; $p = false; if($i or $o and $p){ echo '输出为'.'tru ...
- 解决「matplotlib 图例中文乱码」问题
在学习用 matplotlib 画图时遇到了中文显示乱码的问题,在网上找了很多需要修改配置的方法,个人还是喜欢在代码里修改. 解决方法如下: 在第2.3行代码中加上所示代码即可. import mat ...
- Go语言中其他数据与字符串类型的转换
1 概述 Go语言是强类型语言,因此总会需要将字符串转成需要的类型.比如整型和字符串转换,字符串和布尔型的转换等.本文就介绍如何完成这些转换,以下是Go语言关于字符串转换的整理说明,主要是与切片类型的 ...