机器学习概述 – 给小白看的

阿里云双11来了!从本博客参与阿里云,服务器最低只要86元/年!


image

什么是机器学习

机器学习怎么理解呢,其实看字面意思就知道了,学习2个字是人的行为,机器要是也想学习的话,那么自然就得学我们人啦

我们人是怎么学习的呢:

我们人啊,无时不刻的从周围环境收集数据,眼耳口舌皮肤这些感觉器官,这些数据在我们脑海之中就形成了对事物认知的经验,再经过大脑的归纳总结,就形成了对一类事物的认识规律,当我们遇到了新的事物时,我们都是根据已经形成的经验、认知规律去理解

那么机器学习是仿生学的范畴,自然也得模拟人认知事务得这个过程了,于是就形成了机器学习得核心逻辑:

从历史数据中自动分析获得认知模型,利用认知模型对未知数据进行预测

机器学习本质上就是这一行字,从数据中抽取特点,然后把这个特点总结在一起就是认知模型,也叫规律,有了这个模型就能像人一样去学习了

比如这张图,就是机器学习和人之间的对比,其实是一回事


image

举个例子: 来了一只没见过得狗


image

  • 人是怎么认知的?
    人在以前看见狗时,自动记录了狗得一些特征:体型、脸型、鼻型、花色、叫声、行为举止等特点。根据这些特征对号入座,自然知道这是一只汪,后来一打听,原来这狗就是远近闻名得拆家小能手:哈士奇
  • 机器是怎么认知得?
    学人呗,抽取历史数据中那些显著得特征点,取值、记录,形成模型,再有新的数据传入时,根据其特征值一比对,自然也知道这是一只狗了

机器学习就是从猫和狗得图片中分析其特征点,形成对猫和狗认知的模型

有人说机器学习可以预测,这是怎么回事?


image

其实和上面一样,从历史数据中找到翻屋特征点(位置、户型、大小,楼层、物业) 和价值之间的关系(这里就是一组公式了),然后套用这个模型(公式)计算其他房屋数据的价格。其实给我得感觉就是做数学题,所以啊,这机器学习里会出现大量的数据思维

好了,这就是机器学习了,不要把这个概念想的多复杂,大家都是做开发的,写代码的否知道把复杂的变简单,把难的按简单的理解才是正路


数据集

数据和算法是机器学习中的核心,不是随随便便什么样的数据都可以做机器学习的。机器学习对数据是有自己的要求的,机器学习中把数据叫做:数据集

我们来看看机器学习是对数据的定义:

数据集:特征值 + 目标值

典型数据集:


image

  • 房子的面积,位置,楼层,朝向,这些都是房子的特征
  • 房子的价格就是目标值
  • 每一行数据我们叫做:样本

为啥要有目标值呢,比如我们想要预测房价的化,其实就是为了求最终的一个值,所以要有目标值存在

数据集可以没有目标值:


image

比如上面这张图,人的话不好说人=什么值不是,我们只能对人分类

所以机器学习的数据集特征:特征值 + 目标值,有的数据可以没有目标值


机器学习算法分类

机器学习目的是要解决问题,使用历史数据数据训练出模型,来预测未来价格,趋势变化,所属类型,这些都是处理具体的问题,机器学习里对目标问题是由详细划分的,不同类型的问题有不同的算法支持:

注意问题的分类是以目标值为准绳的,大家想想是不是,我们的目标值是什么,不就是为了什么吗,比如说,目标值是数值,那么机器学习的目标就是预测数值;目标值是类别,机器学习的目标就是预测所属类型,所以说啊:

  • 目标值:类别 – 分类问题
  • 目标值:连续数据 – 回归问题
  • 目标值:没有- 聚类问题,无监督学习

下面大家练一下,看看都是什么问题:

  • 预测明天天气多少度 – 回归问题
  • 预测明天是晴天还是雨天 – 分类问题
  • 人脸年龄预测 – 分类或是回归
  • 人脸识别 – 分类问题

不同的问题有不同的算法支持:

  • 监督学习:
    • 分类: K-近邻算法、贝叶斯算法、决策树与随机森林、逻辑回归
    • 回归: 线性回归、岭回归
  • 无监督学习:
    • 聚类: k-means

这块大家就先这么看,知道目标值的数据对应哪类问题就行了,后面再加深理解…


机器学习开发流程


image

任何工程都有自己约定俗成的流程不是,机器学习一样有的,如下:

  • 获取数据
  • 数据处理
  • 特征工程
  • 机器学习算法训练 - 模型
  • 模型评估
  • 应用

数据处理这块其实就是处理数据的缺省值之类的。特征工程里的特征就是机器学习数据里的特征值,特征工程会根据后面采用的深度学习算法类型,把特征值、目标值处理成后面算法最能接受,最适合的数据,这里很多讲头的,特征工程是重点、难点

OK,大家先记这么多,后面有我再补上,我也是刚开始看~


机器学习的库和资料

1. 首先声明一点,机器学习中的算法是非常难的,难到一般人都干不了,都是国际知名大学的教授、研究机构在搞,市面上那些招聘算法工程师的其实都是干数据处理、模型训练的,真正研究算法的也就是个别顶级一线大公司

大部分复杂模型的算法设计都是算法工程师在做,而我们干什么:

  • 分析很多数据
  • 分析具体业务
  • 应用常见算法
  • 特征工程、参数调优、优化

80% 的工作都是在处理数据的,数据清洗,数据处理没,特征工程之类的,在企业一般都是处理数据,算法都是用成熟方案,没几个自己研究的,除非那是有志向有钱的一线大公司,国内也就阿里了吧

2. 怎么学
大家知道大学里怎么学吗,不说别的,上来先是各种数学基础


image

看到没有,我想没几个人能hold住这样自学的吧…

咱们一般人还是老老实实按部就班来吧,国内这些年最大的发展陈果,就是把入门变得白菜化了。各大培训机构整理了相关的内容提供给大家学习,这里我推荐:黑马的python+机器学习课程,X包上20快钱就能买一套,其中包括详细的python基础,要是只想看机器学习部分的话,B站上有相关视频:

入门学到什么水平呢

  • 学会分析问题,机器学习里使用某个算法的目的,想要有算法实现什么任务
  • 掌握算法的基本思想,学会根据不同的问题使用不同的算法
  • 学会利用开源库和框架解决实际问题

3. 书籍资料:


image


image

大家入门之后,推荐先看看各种实战书籍,理论研究的最后再看

4. 机器学习开源库和框架
Python 就是香啊…哈哈哈…主要库就是这些


image

  • 上面就SKlearn这个库是机器学习的库,其他的都是深度学习的库
  • TF这是最火的,google出品必属精品
  • pytorchcaffe2都是facebook出的
  • theanoTF的前身
  • chanerpytorch的前身

所谓用新不用旧,大家都知道吧,好了,资料就是这么多了

https://www.jianshu.com/p/7ab870bf7b81

Python量化投资网携手4326手游为资深游戏玩家推荐:《手游专题_手机游戏专区_手游专区合集

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论