深度学习-机器学习第一篇

阿弎 阿弎     2022-11-07     155

关键词:

简介

前置声明:本专栏的所有文章皆为本人学习时所做笔记而整理成篇,转载需授权且需注明文章来源,禁止商业用途,仅供学习交流.(欢迎大家提供宝贵的意见,共同进步)

正文:

机器学习,顾名思义,就是研究计算机如何学习和模拟人类的行为,并根据已学得的知识对该行为进行增强和改进。

举例来说,假设邮箱收到了一封新邮件,通常我们可以通过邮件里是否含有广告、不相关信息以及乱码等特征,人为的来判断这封邮件是否是一封垃圾邮件。

 

如上述可知,机器学习模拟人类的行为,所以它同样依据这些邮件内容的特征来判断一封邮件是否是垃圾邮件。那么计算机是如何判断邮件内容里那些是广告和垃圾信息的呢? 我们知道,在我们刚出生的时候,大家都不知道世间那些事情是好的,那些事情是坏的,都是爸爸妈妈告诉我们说:打人是不对的,帮助他人才是该做的。同理,尚未学习的计算机刚开始也不能独立思考,为了让它区分垃圾邮件和正常邮件,所以我们必须需要告诉它,邮件里的内容那些是广告和垃圾信息,那些是正常的内容。这一过程是机器学习的核心过程,通过这一核心过程,计算机便有了初步的对于邮件垃圾与否的“知识”,正如我们学了加减乘除后便可以做简单的运算。

机器学习的核心过程一般分为包含如下模块:

  1. 训练数据集:训练数据集是机器学习的“课本”,如邮件训练数据集,其中包含了各种各样的邮件,其中每个邮件都有一个标识,用来表示其为正常邮件还是垃圾邮件。典型的数据格式如:邮件1,1;邮件2,0,;邮件3,1;其中0表示正常邮件,1表示垃圾邮件,因此可以看出邮件1和3为垃圾邮件,邮件2为正常邮件;
  2. 学习算法:计算机通过机器学习算法对训练数据集进行分析,并建立最终的模型。即通过对“课本”的学习,建立一套自己的解题方案。如通过对邮件数据集的学习后,当收到新邮件时,通过模型便可判断该邮件是否是垃圾邮件。模型的最终生成以及其性能的高低依据选择的机器算法而定。
  3. 测试模型:通过某些测试数据[类别未知]对模型进行测试,如输入多封新邮件测试模型能够将邮件正确分类的效果,若达不到预期效果则需要调整学习算法的参数。

 

机器学习算法有很多,大致分为监督学习算法和无监督学习算法。

监督学习:训练数据集的类别已知,如上文提到的邮件训练数据集,通过对训练数据集的学习生成模型。好比面前有一位老师告诉了你题目的方法和答案,,当你了解了老师教你的方法时,面对的新的题目便可自行解答。

监督学习的算法:

  1. 分类算法 —— K-近邻算法、决策树、朴素贝叶斯算法、Logistic回归、etc.
  2. 预测算法 —— 局部加权线性回归、线性回归、支持向量、Ridge回归、Lasso最小回归系数估计、etc.

无监督学习:数据集的类别未知,如草原上一群未被标记的动物,起初不知道这些动物该如何分类,但通过观察这些动物的特征便可知道,可以将体格壮的分为一类(大型动物),食草的分为一类(食草动物)以及爬行的分为一类(爬行动物)等,因此无监督学习也是通过对数据集的特征进行分析,根据特征相似性对数据集进行分类。

 

无监督学习算法:K-均值、最大期望算法、DBSCAN、Parzen窗设计、etc.

[上述提到的机器算法会在后续中一 一讲解]

 

总之,机器学习通过算法对训练数据集进行学习,生成最终的模型,并用此模型模拟人类行为对新输入进行判断。

 

机器学习模型除了可以分辨垃圾邮件外,还可以做很多事情,比如根据对超市顾客购物清单的学习分析,可知买了尿布的顾客会顺便买一罐啤酒,因此超市可将尿布和啤酒放在一起从而提高销量;通过对图书馆借书记录的分析,可以将相似的书籍推荐给读者;对购买产品记录的分析,网站会提示买家该产品的最佳搭配产品或者提示买家其他顾客除了购买该产品还购买了哪些与之搭配的产品;通过对房子的特征及其房价的数据分析,可以预测某种房子的房价;通过对文本的分析对大量的文章进行自动分类......。机器学习可以做很多自动化的事情,从而提高效率。

在学习机器学习算法的理论及代码实现前,需要如下几个前提:

  1. 高等数学、线性代数、概率论与数理统计的基础 (至少了解概念)
  2. 编程基础 (Java、C++、Python 等都可作为实现机器学习算法的语言) [建议:Python,Python包含众多的科学计算包,更容易更方便实现其算法]

Python机器学习环境搭建

若未接触过Python,需要看下Python的基础语法,不过代码里面我会写上详细注释。

正如安装Java一样,我们需要去官方网站下载JDK,Python类似,Python分为2.7和3.6版本,本专栏选择使用2.7版本。

安装好Python后,还需要安装机器学习所需要的Python科学计算包 ,例如:numpy+mkl、scipy、matplotlib等。不过这里我们并不安装原始的Python版本,而是安装anaconda,它是Python的一个发行版本,安装好它后就不用再去下载上述Python包,其本身已经包含了,比较方便。

 

anaconda下载地址:Downloads 选择Python 2.7 version下载

安装步骤在此略过。

安装好后打开Anaconda Navigator 如图:

启动后如图所示:

 

lauch spyder,spyder是Anaconda下的一个Python集成开发环境,正如Java之于Eclipse,.net之于Visual Studio .其他工具后续再说。

 

当然按照惯例 输出 hello world

机器学习的简介和Python开发环境的搭建到此结束,后续将会依次讲解机器学习的算法、数学知识以及算法的推导过程。

2017/10/30 阿弎

小白入门深度学习|第一篇:配置深度学习环境

文章目录一、配置Python3环境二、安装CPU版本的tf2环境三、安装jupyternotebook四、安装GPU版本tf2环境1.找到显卡对应的CUDA2.下载相应的CUDA3.下载相应的cudnn4.添加环境变量5.安装tensorflow-gpu一、配置Python3环境这里推荐去Python官网下载安... 查看详情

第一篇如何选择深度学习主机

...善其事,必先利其器”。对于我们来说,如果我们想学好深度学习,一台配置好的主机必不可少。那么如何选着主机的配置呢?今天我就通过这篇文章和大家梳理一下。说到主机的配置,对于学习深度学习的人来说最重要的配件... 查看详情

pytorch深度学习50篇·······第一篇:认识深度学习

上一篇文章已经交给大家深度学习中的卷积是如何卷的,我的总结就是对应位置相乘在相加,最后加上bias。如果说怎么卷是小学三年级的知识,那我们今天就来说点小学六年级的知识,今天主要还是对上次那个动... 查看详情

《python深度学习》第一章笔记

《Python深度学习》第一章笔记1.1人工智能、机器学习、深度学习人工智能机器学习深度学习深度学习的工作原理1.2深度学习之前:机器学习简史概率建模早期神经网络核方法决策树、随机森林与梯度提升机回到神经网络1.1人... 查看详情

《python深度学习》第一章读书笔记

《Python深度学习》读书笔记第一章什么是深度学习1.1人工智能、机器学习与深度学习人工智能的简洁定义:努力将通常由人类完成的智力任务自动化。机器学习与数理统计密切相关。机器学习(尤其是深度学习)呈现出相对较少的数... 查看详情

小白入门深度学习|第一篇:配置深度学习环境(代码片段)

文章目录一、配置Python3环境二、安装CPU版本的tf2环境三、安装jupyternotebook四、安装GPU版本tf2环境1.找到显卡对应的CUDA2.下载相应的CUDA3.下载相应的cudnn4.添加环境变量5.安装tensorflow-gpu一、配置Python3环境这里推荐去Python官网下载安... 查看详情

第一篇如何选择深度学习主机

...善其事,必先利其器”。对于我们来说,如果我们想学好深度学习,一台配置好的主机必不可少。那么如何选着主机的配置呢?今天我就通过这篇文章和大家梳理一下。说到主机的配置,对于学习深度学习的人来说最重要的配件... 查看详情

从冷战到深度学习:一篇图文并茂的机器翻译史

从冷战到深度学习:一篇图文并茂的机器翻译史 选自Vas3k.com作者:IlyaPestov英语版译者:VasilyZubarev中文版译者:Panda实现高质量机器翻译的梦想已经存在了很多年,很多科学家都为这一梦想贡献了自己的时间和心力。从早期... 查看详情

第一篇学习机器学习,从零开始准备

...初心,坚持到底!  以下内容以及接下来的[机器学习]系列随笔会记录下我的学习路程,希望对各位有所帮助。 学习原因:危机感学习准备:1.下载安装了python2.7,后来换成了python3.0,安装各种库累的半死然后下载anaco... 查看详情

一篇适合新手的深度学习综述!

 Datawhale干货 方向:深度学习,来源:机器之心荐语 文章列举出了近年来深度学习的重要研究成果,从方法、架构,以及正则化、优化技术方面进行概述。对于刚入门的深度学习新手是一份不错的参考资料&#... 查看详情

人工智能第一弹|机器学习和深度学习入门教程

...内容涉及机器学习算法,机器学习的Python实现,深度学习算法,深度学习的 查看详情

关于机器学习和深度学习的资料

...ils/43564321 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等。而且原文也会不定期的更新,望看到文章的朋友能够学到更多。《BriefHistoryofMachineLearning》介绍:这是一篇介绍机器学习历史... 查看详情

机器学习(machinelearning)&深度学习(deeplearning)资料

机器学习(MachineLearning)&深度学习(DeepLearning)资料《BriefHistoryofMachineLearning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、DeepLearning.《DeepLearninginNeuralNetworks:AnOverv... 查看详情

机器学习和深度学习资料合集

 机器学习和深度学习资料合集注:机器学习资料篇目一共500条,篇目二开始更新希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多.此... 查看详情

重磅福利!!机器学习和深度学习学习资料合集

比較全面的收集了机器学习的介绍文章,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、DeepLearning。《机器学习经典论文/survey合集》介绍:看题目你已经知道了是什么内容,没错。里面有非常多经典的机器学习论文值得... 查看详情

机器学习(machinelearning)&深度学习(deeplearning)资料

机器学习(MachineLearning)&深度学习(DeepLearning)资料機器學習、深度學習方面不錯的資料,轉載。原作:https://github.com/ty4z2008/Qix/blob/master/dl.md原作作者會不斷更新。本文更新至2014-12-21《BriefHistoryofMachineLearning》介绍:这是一篇介绍... 查看详情

机器学习技术系列:一篇图文笔记了解机器学习基础知识

...实战:基于Scikit-Learn、Keras和TensorFlow》(第2版)《Python深度学习》(第2版)网站:https://www.showmeai.tech/一、机器学 查看详情

机器学习(machinelearning)与深度学习(deeplearning)资料汇总

《BriefHistoryofMachineLearning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、DeepLearning.《DeepLearninginNeuralNetworks:AnOverview》介绍:这是瑞士人工智能实验室JurgenSchm... 查看详情