最近在看由Aurélien Géron编写的《机器学习实战:基于Scikit-Learn和TensorFlow》,我想对第一章和第二章做一个总结,加入自己的理解,这两章是本书机器学习的起步,看完就对机器学习项目有了一个大致的了解。
机器学习是人工智能的一个分支,是实现人工智能的一种方式,举个例子,比如分类垃圾邮件,我们不再去编辑复杂的if else语句逻辑去实现智能,我们只需要告诉模型我们想要的结果,给它一些数据,让它自己从数据中悟出道理来。
首先,机器学习是可以分类的
1. 监督式:人先将数据分类并标记,让机器学习学习人如何分类,然后新数据来的时候,让机器学习自
己看着办,分类分不好就等回炉重造吧。
无监督式:和监督式不同,不标记数据,其实有时候你也没有能力对数据进行分类,比如让你的油管
账号的访客分个类,这个太多了,太复杂了,你自己都不知道从哪里开始分,只好扔给机
器学习,让它来尝试着分类,什么?人都分不清的东西让它来分??放心,有这种模型实
现这种功能,而且还能发现人没有发现的不得了的东西。
半监督式:有些数据很奇怪,它大部分数据没有被标记,但是有少量数据却被标记了,比如一堆照
片,大部分照片上没有写人名,但是有小部分照片的人标记了人名,这时大部分没有被
标记的照片被用了无监督学习,而被标记的照片被用了监督学习,其实就是这样的,半
监督就是监督和无监督的结合,比如深度信念网络(DBN)(嗯,好像是个很厉害的东西)
强化学习:这个东西就真的很厉害了,它的学习系统(在其语境中称为智能体)能够观察环境,做
出选择,执行操作,并获得回报(reward),或者是惩罚。所以它必须自行学习什么是
最好的策略(policy),从而随着时间的推移获得最大的回报。策略代表智能体在特定情
况下应该选择的操作。
2. 批量学习:当你的数据集不太大的时候,你可以一次把所有的数据都喂给机器学习模型
在线学习:当你的数据集很大的时候,你需要把数据集分成小块,一块一块的喂
3. 基于实例:我的理解是,给你一篇文章,当再给你一篇新的文章时,你会联想到你刚学过的文章,你会找到 这两篇文章的相似的地方
基于模型:我的理解是,一本书都是文章,你看完之后自己写了一篇文章,还要保证和这书里的文章都有关系,然后又来一篇新文章,你看和你写的差不多,肯定不错。
以上三个大分类相互不矛盾,可以相互搭配,比如半监督批量基于实例,也可以监督式批量基于模型
最后,千万不要只关注算法而忽略了数据的准备工作,书上说,数据集的准备是超级超级重要的,数据数量不足,有没用的数据,有不合理的数据,都不行!!
突然之间,项目来了
你是个很厉害的数据科学家(如果真的是,请带带小弟),公司需要对加利福尼亚的区域的房价进行预测,评估投资价值。数据集是加州人口的数据普查数据。
首先干嘛?当然是找数据啊,数据集的准备
我们先看看所谓的数据集长什么样子:

数据集就是个二维数组,它可以使用pandas的方法读取(pandas是个基于Numpy的工具包,为了解决数据分析,就这样;Numpy又是什么?Numpy也是个工具包,主要用来算矩阵的,就这样;矩阵又是什么?),其中每一行是一条数据,它的列数据被称为特征值,不错,特征值有数值也有字符串,longitude是一个特征值,ocean_proximiy也是一个特征值。当然,字符串无法计算,所以我们一般要将字符串转化为数值(或独热向量,先别管这个,后边会说)。
当你白白的拿到别人精心整理的数据集的时候,要好好利用,这是别人的免费给你的心血,网上免费下载数据集的网站有很多,自己找找合适的数据。我们这里用的是书上的数据集,下载地址:https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.tgz
等等,好像有个叫Anaconda的好东西
anaconda包含了大量的科学包,可以快速的进行复杂的计算,反正就是很厉害就对了,我们安装anaconda,我这里简单讲一下anaconda的安装。
anaconda有官网可以下载,但是下载速度比较慢。
我们可以去清华大学的镜像库:
https://mirrors.tuna.tsinghua.edu.cn/
这上面有各种各样的文件的镜像,如果官网下载的慢,可以来这里找。
然后,我们找到anaconda的下载位置:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
选择一个合适的版本。Windows64位就选Anaconda3-5.3.1-Windows-x86_64.exe。
安装完成后打开anaconda Navigator

然后打开jupyter notebook:

这是个好东西,可以单元执行,以后我们就在上面编辑Python代码
我们选择一个目录新建一个Python3文件

然后打开刚刚新建的Python文件

我是改了jupyter的主题的,感兴趣可以试试,网上有教程,很简单。
建议先去看看Python的基础语法,才能使用Python进行基本的编码
后面的数据集的操作下次讲
网友评论