机器学习的练功心法(一)——机器学习概述

1 机器学习概述

文章目录

  • 1 机器学习概述
    • 1.1 学习方法
    • 1.2 什么是机器学习
    • 1.3 监督学习
    • 1.4 无监督学习
    • 1.5 强化学习
    • 1.6 机器学习的开发流程

1.1 学习方法

引入:对于机器学习来说,我们需要有一个大局观,什么是大局观?你站的比别人高,掌握的就比别人快,对于这门课程,你要掌握的学习方法和你在学数据结构那样类似,理解其算法思想并且能用代码敲出来。当然,代码并不是一定要和例子上的一模一样,但是实现的功能要一样。

应用场景:让我们来看看机器学习在生活上的例子,当你使用Google搜索引擎上网查找资料的时候,你搜索前面的几个关键词它就能显示后面的关键词,这实际上和机器学习分不开的。

image-20220301134515726

同样地,在苹果相机自拍后,相册能够根据照片识别你和你的朋友,并且将不同的照片放置到不同的照片中,这也是机器学习的一种应用。

image-20220301134922033

还有一种应用是:你打开手机,有时候会发现有很多垃圾信息,而这些信息一般都会放在垃圾信息的分组中,这也是机器学习的功劳,它能够过滤大量的垃圾信息。

image-20220301135034427

说明:机器学习近年来之所以这么火的原因是因为网络和自动化技术的发展,这也意味着我们拥有大量的数据集,通过机器学习对这些大量的数据集进行分析,可以挖掘出有用的信息为我们所用。

还有一个原因是:一些应用程序不能人为编写,这样的话利用机器学习就能让其为我们编写。如手写数据集、自然语言处理、计算机视觉。

最后一个原因是:私人定制程序的发展。比如亚马逊,淘宝的推送商品。通过你购物或者浏览过的商品,程序可以推送一些你可能感兴趣的内容。


1.2 什么是机器学习

说明:让我们看一下在1959年Arthur Samuel给出的机器学习的概念,它将机器学习定义为在没有明确设置的情况下,是计算机具有学习能力的计算领域。

这一切都来源于一个叫Samuel的人,它本身不是很会玩跳棋这种游戏,但是它通过让机器和自己对弈上万次,使得机器知道什么布局容易赢什么布局容易输,到最后机器玩跳棋的水平甚至比Samuel还要高。

让我们再看一下Mitchell在1998年提出的机器学习的定义,它说从计算机程序从经验E中学习,解决某一任务T进行某一性能度量P,通过P测定在T上的表现因经验E而提高。

让我们拿上面的跳棋游戏来举例:对于跳棋游戏来说经验E就是程序和自己上万次的下棋,任务T就是玩跳棋,性能度量P就是与新对手玩跳棋的概率。

对于机器学习来说有很多分类,最主要的两类是监督学习无监督学习,在后面我们会多次提到这些莫名其妙的术语。但简单来说,监督学习就是我们有某种准则,可以让机器依照我们的准则去学习;然而在无监督学习中,我们没有提供任何准则,机器会从海量的数据中自动总结出某种准则。

还有一种是强化学习,这类机器学习常用于计算机视觉,据我所知很多人喜欢拿来做游戏对象捕捉外挂(比如原神钓鱼外挂)。


1.3 监督学习

说明:机器学习中最常用的类型即监督学习(supervised learning)。让我们来体会一个比较简单的例子:

有一个学生在俄勒冈的波特兰市收集了一批数据用作房价预测。

image-20220301142323106

其中横轴的房屋的平方数,竖轴是房屋的价格。如果此时这个学生想要卖掉他在波特兰的房子,比如是500平方,那么它大概能卖多少钱。

一种比较简单的思维是,根据收集来的数据,我们认为这些数据可能是线性关系,当然也可以是类如二次函数或二次多项式。当然我们考虑最简单的,其可能存在一种线性关系即一次函数,那么这个房子卖出的价格y很有可能是500在函数上的映射。

综上所述,监督学习就是给定算法一个数据集,其中可能包含了正确答案,根据这些数据集我们通过已有的模型训练出模型对应的函数。以后用这个函数预测更多未知的数据,体现在预测房价问题上就是给出一个房子面积来预测房价。

预测某个价格,这如果用更专业的术语来讲,这实际上叫做回归问题。所谓的回归问题是指我们想要预测连续的数值输出,比如我们有了一堆数据集,根据数据集和既定的模型训练出来的函数可以预测任何一个数值,这个数值可以是标量可以是连续值。

让我们再看一个例子。

image-20220301143458840

假设你想看医疗记录,然后设法预测肿瘤是良性的还是恶性的。我们把这种好结果坏结果给出一个术语叫做标签

现在我们现在已经拥有了医疗记录的往年记录,那么根据这些往年的记录来选择一个既定的模型例如线性模型,然后训练出一个对应的函数。当一个新的病例出现,这个算法根据肿瘤的大小来判断肿瘤属于哪种标签。

当然了你不能思考的那么死,我们标签不一定只有两个对吧。如我们设定0号标签为良性,没有癌症;设定1号标签为第一种癌症;设定2号标签为第二种癌症。但是当我们标签只有两个的时候,我们把这类分类问题叫做二分类问题

当然上述可以发现我们仅仅根据一个肿瘤大小来判定肿瘤的良恶。实际上这是不够准确的。在实际开发中,我们会选取多个特征,比如病人的年纪、病人患病的时间长短、肿块的厚度、肿块的平均大小。


1.4 无监督学习

说明:让我们在这一小节探讨一下第二种主要的机器学习问题——无监督学习。无监督学习实际上通常用聚类算法来实现。在下面,我们来看看无监督学习的含义是什么。

image-20220301152949402

在上一小节中,我们说过特征可以有多个,当上一小节我们举的肿瘤例子拥有两个特征时,我们用x1和x2x_1和x_2x1x2来分别表示两个特征,其中圈和叉表示肿瘤的良性或恶性。

而在无监督学习中,机器仅仅收到一团数据集,却没有被告知要干嘛,如下所示:

image-20220301153005738

通过无监督学习,机器可能判定在数据集中存在两个簇,并且机器对其自动划分。对这类应用比较一个显著的例子是谷歌搜索引擎。

谷歌搜索引擎做了这么一件事,它收集了成千上万的新闻,然后根据无监督学习让机器自己总结出某种合适的主题,然后对新闻进行划分。

让我们来看看无监督学习在其他方面的应用。

image-20220301151328314

无监督学习可以用于组织大型的计算机集群,其可以试图找出哪些机器可以更好地进行协同工作。

无监督学习还可以用于社交软件,通过相同的习性和其他某些特征,社交软件可以向你推送一些你感兴趣的人或者你身边的人。

无监督学习还可以用于市场分析。许多公司拥有庞大的客户信息数数据库,对于一个客户数据集,大公司常常会让聚类算法划分不同的人群,使其归为不同的市场消费人群。用无监督学习的原因是,我们并不知道实现市场的分类是什么,这个具体的分类是机器帮我们做的事。

最后无监督学习还可以用于天文分析。


1.5 强化学习

最后一个机器学习是强化学习。强化学习类似于激素。为什么这么说呢。强化学习可以通过对环境的交互来提高其预测性能。当前所在的环境状态通常包含奖励信息。当机器对某个环境中的内容交互时,奖励信息会强化机器的学习,这也是为什么它称为强化学习的原因。

image-20220301152317215

当然,我们这里不会过多讲述关于强化学习的知识,因为它实际上不利于新手了解机器学习。


1.6 机器学习的开发流程

说明:机器学习一般是先获取数据,这些数据一般是公司给你,如果是自己练习的话一般是下载或爬取。

第二步我们要做的是数据处理,对于一些不规则或异常数据我们会做一些简单的处理,其中删除或置0比较常见。

第三步是特征工程,这个我们会在第三章细讲。

第四步是训练模型,训练出来后的模型需要评估其效果。

第五步是将训练出来的模型应用于开发中。

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

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

相关文章

数学之路-分布式计算-disco(4)

第一个參数iter是一个迭代器,涉及被map函数产生的键和值。它们是reduce实例。在本例中。单词随机被托付给不同的reduce实例。然后,要单词同样,处理它的reduce也同样。可确保终于合计是正确的。第二个參数params与map函数中一致,在…

项目管理规范

从鼬加入的那一周开始,四代就开始着手准备起草代码规范了。代码规范不可少很多人理直气壮的认为,创业团队,或者说人数少的团队根本不需要代码规范。他们的口头禅经常是:“没办法啊!我们需要快速的完成客户的需求啊&…

每日一题——王道考研2.2.4.1

1 题目 从顺序表中删除具有最小值的元素(假设唯一),并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。 ——出自王道书2023版2.2.4的第二大题第一小题 2 思路 既然…

23种设计模式----------建造者模式

建造者模式:像是模板方法模式的升级。也叫生成器模式。将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示。其实就是创建一大类的东西, 但是具体又有些差异。 在建造者模式中,一般有四个角色:…

批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...

windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 echo off net start "vds" net start "VMAuthdService" net start "VMnetDHCP" net start "VMware NAT Service" net start "VMUSBArbService" net star…

机器学习的练功心法(二)——概述

2 概述 文章目录2 概述2.1 模型概述2.1.1 预测房价问题2.1.2 符号2.2 代价函数2.3 代价函数的用处2.4 回到问题2.5 梯度下降2.6 梯度下降知识点总结2.7 线性回归模型的梯度下降2.1 模型概述 2.1.1 预测房价问题 在我们要开始下面的问题前,我们先来看一些关于房价预…

努力做一名认真踏实的工程师

以下内容的来源:http://www.dndev.com/cgi-bin/forum/topic.cgi?forum2&topic1209&show0 转抄网上的一个帖子: 1. 不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人…

Mac openCV环境搭建

安装 Homebrew $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ echo export PATH"/usr/local/bin:$PATH" >> ~/.bash_profile $ brew doctor 安装 OpenCV brew install opencv 安装pip sudo easy_…

Jquery对象和DOM对象---Jquery API (1)

文/饥人谷_韩宝亿(简书作者)原文链接:http://www.jianshu.com/p/98a0c82c47e4著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。一、为什么要用Jquery? DOM API 1.难用 要想拿到一个对象&…

Effective STL中文版pdf

下载地址:网盘下载内容简介 STL是C标准库的一部分。本书是针对STL的经验总结,书中列出了50个条款,绝大多数条款都解释了在使用STL时应该注意的某一个方面的问题,并且详尽地分析了问题的来源、解决方案的优劣。转载于:https:…

关于SWT/JFace中其他常用的事件

1.addSelectionListener:这个监听器最常用. 这个addSelectionListener是一个方法,addSelectionListener(SelectionListener listener)传入的是一个 SelectionListener类型的参数对象.SelectionAdapter实现了这个SelectionListener接口. SelectionListener接口中有下面的这个两个…

机器学习的练功心法(三)——特征工程

文章目录致谢3 特征工程3.1 Sklearn工具及数据集3.2 数据集3.3 数据集的划分3.4 特征工程介绍3.4.1 为什么需要特征工程3.4.2 什么是特征工程3.4.3 特征提取3.4.3.1 字典特征提取3.4.3.2 文本特征提取3.4.3.3 中文文本特征提取3.4.3.4 TF-IDF算法3.5 特征预处理3.5.1 特征预处理…

SDWebImage原理(面试)

SDWebImage 加载图片的流程 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImageManager 根据 URL 开始处理图片。进入 SDWebImageManager-downloadWithURL:delegate:options:userInfo:,交给 SDImageCache 从…

Win7/8出现An error occurred on the server when processing the URL解决办法

报错:An error occurred on the server when processing the URL. Please contact the system administrator. SJY使用的是win8系统搭建的本地服务器,win7使用的方法是相同的。如果你的系统是精简版的Win7/8,那么安装IIS7也有可能出现这问题。…

数据库杂谈(六)——数据库管理系统

文章目录6 数据库管理系统6.1 数据库管理系统结构简介6.2 进程结构6.2.1 进程的分类6.2.2 线程的由来6.2.3 建立进程的过程6.3 数据目录6 数据库管理系统 6.1 数据库管理系统结构简介 数据库管理系统DBMS是数据库系统的核心。而目前市场上我们接触到的商品化DBMS大多数是关系…

59.排序好的大数据创建索引文件,并实现大文件的二分查找,根据索引百万数据秒读数据...

创建索引 1 //创建索引 2 struct index 3 { 4 //保存每行偏移的位置 5 int *pindex; 6 //文件的总长度 7 int length; 8 }allindex;//索引 初始化索引数组并把索引写入到文件 1 //初始化索引数组,并把索引写入到文件2 void init(char *path)3 {4 printf(&q…

booth算法实现乘法器

booth算法充分的利用到了补码的重要性,使得我们在利用补码进行计算时减少了很多时序。下面的表格是我们假设2 作为乘数所进行的分析。接下来,我将用代码向大家阐述。 1、开始的时候在乘数2的‘负一位’加上一个默认0值00100 2、先判断[0:-1],结果是2‘b0…

OS实验一实验报告

实验一、命令解释程序的编写实验 专业:商业软件工程 姓名:王泽锴 学号:201406114113 一、实验目的 (1)掌握命令解释程序的原理; (2)*掌握简单的DOS调用方法; &#xf…

机器学习的练功方式(四)——KNN算法

文章目录致谢致歉4 KNN算法4.1 sklearn转换器和估计器4.1.1 转换器4.1.2 估计器4.2 KNN算法4.2.1 概述4.2.2 电影类型分析4.2.3 算法实现致谢 闵氏距离_百度百科 (baidu.com) 机器学习之KNN(k近邻)算法详解_平原的博客-CSDN博客_knn 鸢尾花(Iris)数据集_…

bootstrap table入门例子

链接&#xff1a;https://pan.baidu.com/s/1jJ2Y89g 密码&#xff1a;eo7t <!DOCTYPE html> <html> <head><meta charset"utf-8"><link rel"stylesheet" type"text/css" href"lib/bootstrap.min.css">&…