机器学习快速入门教程 Scikit-Learn实现

机器学习是什么?

机器学习是一帮计算机科学家想让计算机像人一样思考所研发出来的计算机理论。他们曾经说过,人和计算机其实本没有差别,同样都是一大批互相连接的信息传递和存储元素所组成的系统。所以有了这样的想法,加上他们得天独厚的数学功底,机器学习的前身也就孕育而生了。

机器学习的萌芽诞生于19世纪60年代,20年前开始逐渐兴起。它是一门跨学科的交融,这里面包含了概率论、统计学等等学科。随着计算机硬件的提升,计算机运算速度的不断提高,它真正开始进入我们的日常生活当中。而在不久的将来,我相信它也会成为我们生活中必不可少的组成元素。

我们说说日常生活中的机器学习应用。第一个提到的,最具代表性的公司应该就是Google。他所开发的Google Now, google photos都是基于机器学习的产物。同样在百度,图片识别也是应用到机器学习中的视觉处理系统。于此同时,各种各样的企业都开始尝试把自己的产品往机器学习上靠拢,比如金融公司的汇率预测,股票涨跌;房地产公司的房价预测等等。

机器学习不仅仅只有一种方法,实现它的方法多种多样。这里所说的方法,在程序语言中,我们叫做算法。目前所有的机器学习算法大概可以被分为4到5类。

如果在学习过程中,我们不断的向计算机提供数据和这些数据所对应的值,比如说给计算机看猫和狗的图片,告诉计算机哪些图片里的是猫,哪些是狗,然后让它学习去分辨猫和狗,通过这种指引的方式,让计算机学习我们是如何把这些图片数据对应上图片所代表的物体,也就是让计算机学习这些标签可以代表那些图片,这种方式就叫做“监督学习(supervised learning)”。预测房屋的价格,股票的涨停同样可以用监督学习来实现。大家所熟知的神经网络同样是一种监督学习的方式。

如果同样在这种学习过程中,我只给计算机提供猫和狗的图片,但是并没有告诉它哪些是猫,哪些是狗,取而代之的是,我让它自己去判断和分类,让它自己总结出这两种类型的图片的不同之处,这就是一种“非监督学习(un-supervised learning)”。在这一种学习过程中,我们可以不用提供数据所对应的标签信息,计算机通过观察各种数据之间的特性,会发现这些特性背后的规律,这些规律也就是非监督方法所学到的东西。

还有一种方法综合了监督学习和非监督学习的特征,这种叫作“半监督学习(Semi-Supervised Learning)”。它主要考虑如何利用少量有标签的样本和大量的没有标签样本进行训练和分类。

在规划机器人的行为准则方面,一种机器学习方法叫作“强化学习(reinforcement learning)”,也就是把计算机丢到了一个对于它完全陌生的环境或者让它完成一项从未接触过的任务,它自己会去尝试各种手段,最后让自己成功适应这一个陌生的环境,或者学会完成这件任务的方法途径。比如说我想训练机器人去投篮,我要只需要给它一个球,并告诉它你投进了我给你记一分,让它自己去尝试各种各样的投篮方法。在开始阶段,它的命中率可能会非常低,不过它会像人类一样自己总结和学习投篮失败或成功的经验,最后达到很高的命中率。Google 开发的 AlphaGo 也就是应用了之一种学习方式。

还有一种和强化学习类似的学习方法,叫做遗传算法(genetic algorithm)。这一种方法是模拟我们熟知的进化理论,淘汰弱者,适者生存。通过这样的淘汰机制去选择最优的设计或模型。比如这位开发者所开发的计算机学会玩超级玛丽。最开始的马里奥1代可能不久就牺牲了,不过系统会基于1代的马里奥随机生成2代的,然后在保存这些代里面最厉害的马里奥,淘汰掉比较弱的马利奥代。然后再次基于强者“繁衍和变异”生出更强的马里奥。这也就是遗传算法的基本思想。

以上就是当今比较重要的机器学习方法,我们再来总结一下:它们包括,有数据和标签的监督学习(supervised learning),只有数据没有标签的非监督学习(unsupervised learning),有结合了监督学习和非监督学习的半监督学习法。还有从经验中总结提升的强化学习(reinforcement learning),最后是和强化学习类似的,有着适者生存,不适者淘汰准则的遗传算法(genetic algorithm)。

总结:

有数据和标签的 监督学习 (supervised learning),
​
只有数据 没有标签的 非监督学习 (unsupervised learning)
​
有结合了 监督学习 和非监督学习的 半监督学习法.
​
还有从经验中总结提升的 强化学习 (reinforcement learning),
​
最后是和 强化学习类似的, 有着适者生存, 不适者淘汰准则的 遗传算法 (genetic algorithm).

如何选择机器学习方法

选择合适的估计器

解决机器学习问题最难的部分往往是为特定任务找到合适的估计器。不同的估计器更适合不同类型的数据和不同的问题。

这次我们会讲到通用的学习模式或者学习形式。具体来说,Scikit-learn把所有机器学习的模式整合,统一起来了。你懂其中一个学习模式的话,就可以通用所有的学习模式。

今天我们会讲到分类的学习。具体来说,我们会用到Iris的花的例子。这个花会有不同的特性特征。在Scikit-learn当中有一个database,数据库里面有花的练习。花是分了四个属性,比如长,高,近,直,直。这种花有四种类型,我们用classifier去分开这四个类型的花。

首先,我们要用到numpy,然后我们要from sklearn data set。Sklearn有很多的数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/178321.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

的修工单管理系统好用吗?工单系统应该怎么选?

在当今的数字化时代,企业运营效率的高低往往取决于其内部管理工具的先进性和实用性。工单管理系统作为企业运营中的重要工具,其作用日益凸显。市场上存在许多工单管理系统,但“的修”以其独特的产品差异化和优势,在竞争中独树一帜…

容器:软件性能测试的最佳环境

容器总体上提供了一种经济的和可扩展的方法来测试产品在实际情况下的性能,同时还能保持较低的资源成本和开销成本。 软件性能和可伸缩性是我们谈论应用程序开发时经常遇到的话题。一个很大的原因是应用程序的性能和可伸缩性直接影响其在市场上的成功。一个应用程序…

flink状态不能跨算子

背景 在flink中进行状态的维护和管理应该是我们经常做的事情,但是有些同学认为名称一样的状态在不同算子之间的状态是同一个,事实是这样吗? flink状态在保存点中的存放示意图 事实上,每个状态都归属于对应的算子,也…

外汇天眼:MAS下令星展银行暂停六个月的非必要活动

新加坡金融管理局(MAS)已经决定对星展银行有限公司(DBS Bank Ltd)的非必要IT变更进行为期六个月的暂停,以确保银行集中精力恢复其数字银行服务的弹性。在此期间,星展银行将不被允许开展新的业务&#xff0c…

python项目部署代码汇总:目标检测类、人体姿态类

一、AI健身计数 1、图片视频检测 (cpu运行): 注:左上角为fps,左下角为次数统计。 1.哑铃弯举:12,14,16 详细环境安装教程:pyqt5AI健身CPU实时检测mediapipe 可视化界面…

MAA连不上MUMU模拟器

之前一直能正常用,最近突然连接不上,最终发现是adb版本不同造成的,我系统变量的adb版本如下: MUMU自带adb版本如下: 解决办法: 把mumu的adb复制到系统变量路径下,或者把adb的系统变量删除

Python 框架学习 Django篇 (八) 代码优化、数据库冗余处理

我们开发软件系统的时候,需要不断的反思我们代码里面是否有可以优化的地方。而优化的重点之一,就是把冗余的代码优化为可以复用的库。我们在前面编写了一些功能,但是其中存在很多冗余的方法 mgr/medicine.py mgr/k8s.py mgr/medicine.py 打开…

Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析

CodeWeivers 公司于今年 10 月发布了 CrossOver 23.6 测试版,重点添加了对 DirectX 12 支持,从而在 Mac 上更好地模拟运行 Windows 游戏。 该公司今天发布新闻稿,表示正式发布 CrossOver 23 稳定版,在诸多新增功能中,最…

我和“云栖大会”的双向奔赴

目录 引言初次参加云栖大会云栖大会带来的技术风向标本届大会最强技术有哪些?云栖大会对我职业生涯的影响个人对未来云栖大会的期待和建议结语 引言 想必大家对“云栖大会”并不陌生,“云栖大会”作为国内最具规模和影响力的云计算盛会,每年…

Jellyfin转码和色调映射效率提升:开启处理器低电压模式(GuC/HuC)

Jellyfin转码和色调映射效率提升 系统环境拉取nyanmisaka/jellyfin镜像开启低电压模式Jellyfin配置开启QSV和低电压模式解码开启色调映射(基于OpenCL) 实测验证低电压模式转码帧率实测测试视频概况221029版本 vs 230901版本开启色调映射的影响开启低电压…

移动路由器Cellular Router命令执行漏洞复现 [附POC]

文章目录 移动路由器Cellular Router命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 移动路由器Cellular Router命令执行漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章…

线扫相机DALSA-相机平场矫正详细步骤

在相机视野下铺放白色亚克力板或纯白纸,采集图像。打开曲线图。 选择 Line Profile 模式。调节好相应所需的曝光时间、光源、增益和镜头光圈,让白平衡纸显示出来的灰度值大概在 150-200 左右。 在Calibration Algorithm 中将显示的数值设置好。 先暗场…

Notepad++下载、使用

下载 https://notepad-plus-plus.org/downloads/ 安装 双击安装 选择安装路径 使用 在文件夹中搜索 文件类型可以根据需要设置 如 *.* 说明是所有文件类型; *.tar 说明是所有文件后缀是是tar的文件‘;

Flink1.18新特性生产环境应用的重点解读!

大家好,我是你们的群主王知无呀。 Flink 1.18已经于近期发布了。在这个新版本中新增了很多新的功能和特性。在这些特性中,有一些是生产环境非常重要的能力,大家在使用过程中可以重点参考和了解其中的原理。 算子级别状态保留时间TTL设置 首先…

企业邮箱:哪个品牌最实用?

企业邮箱用哪个品牌的好用?从无广告、新手上手难度、功能来看Zoho Mail企业邮箱,优势很大。Zoho Mail企业邮箱界面简洁无广告,让用户可以更专注的去处理邮件,为了便于用户处理邮件,Zoho 还提供了多种整理和分类邮件的选…

学习c++的第二天

目录 数据类型 基本数据类型 typedef 声明 枚举类型 类型转换 变量类型 变量定义 变量声明 左值(Lvalues)和右值(Rvalues) 变量作用域 数据类型 基本数据类型 C 为程序员提供了种类丰富的内置数据类型和用户自定义的数…

pytorch学习第五篇:NN与CNN代码实例

这篇文章详细介绍了全链接神经网络实现方法,以及卷积的实现方法。最后我们发现,卷积的实现方法与全链接大同小异,因为 torch 为我们做了很多工作,我们来看看这两个有什么区别。 我们使用 torch 框架来实现两种神经网络,来对图形进行分类。 NN 首先我们引入依赖包 impor…

利用关键字批量整理文件:用关键字轻松移动多个文件到指定文件夹

在日常生活和工作中,我们经常需要处理大量的文件,随着时间的推移,电脑中的文件越来越多,而文件的命名可能并不规范,导致查找和整理变得非常困难。因此,我们需要一种高效的文件管理方法,以方便我…

微信小程序自定义弹窗阻止滑动冒泡catchtouchmove之后弹窗内部内容无法滑动

自定义弹窗 如图所示: 自定义弹窗内部有带滚动条的盒子区域 问题: 在盒子上滑动,页面如果超出一屏的话,也会跟着一起上下滚动 解决方案:给自定义弹窗 添加 catchtouchmove 事件,阻止冒泡即可 网上不少…

查询和下载“省市县乡村“五级行政区划

背景信息 在更新完CTAmap1.12版本之后,我想继续完善这个系列的数据,把时间范围往前更新是基础,但如何展现多年的数据是个值得解决的问题。 如何展现多个年份的行政区划?我的思考是用思维导图的形式,简单明了。既然要…