前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习01-入门

机器学习01-入门

作者头像
马一特
发布2021-09-26 17:03:29
3150
发布2021-09-26 17:03:29
举报
文章被收录于专栏:马一特马一特马一特

1.1 背景

从2018年开始,人工智能像一阵龙卷风席卷全球,并迎来全面爆发,有无数的企业家投身AI创业热潮,在这个广袤的土地上,诞生了一个个神话般的企业,这些企业的核心技术便是机器学习。

其实机器学习的理论在2010年后已经有了重大突破,为什么在这一年突然爆发了呢?AlphaGo的推动只是催化剂,主要的原因在于摩尔定律,也就是计算机硬件发展了到了足够承载海量的数据进行计算。

1.2 描述

机器学习是一个多领域交叉的学科,涉及到概率、统计和算法等等,是人工智能的核心。在此基础上诞生的行业应用目前主要集中图像处理、自然语言处理、推荐系统和数据挖掘和预测等方面。

1.3 划分

机器学历领域主要分为两大类,一类是监督学习,另一类是非监督学习,两者主要的区别在于一个数据是否有标签标记。

1.3.1 监督学习

监督学习是数据D= (X, y),X代表的是样本的特征,也就是我们用一些信息来表达一个样本,y指的是一个标签。比如X代表一个图片,那么y就代表这个标签是猫、狗还是人;比如X代表一个文本,那么y就代表这个文本的主题是经济、体育还是政治,活着y代表正面的情感还是负面的情感。因此,监督学习下,我们数据是既有特征又有标签的,所以我们的核心就是要学习出X到y的映射关系,也是给定一个X去学习出一个函数y=f(X)。我们如何去选择映射关系,比如是线性的映射关系还是非线性的映射关系,这就取决于我们使用什么样的模型来做拟合。比如我们选择使用线性的映射关系,那么我们选择的就是线性的模型,如果我们选择非线性的映射关系,那么我们选择的就是神经网络或者SVM。

1.3.2 非监督学习

无监督学习,数据上只有X而没有y,也就是D=(X),X没有标签,这种情况下我们能做的就是寻找X的特征、特点或者叫做规律。比如我现在有大量的样本数据,我们可以把这些样本分成几大类,每一个大类可能有一些共性。这样的方法论非常适合用在一些营销的场景里面,比如我根据用户的特点或者用户的行为数据,使用聚类算法像K-Means来把用户分成几类,然后可以给每一类用户提供个性化的营销方案。为了更够更好的理解聚类算法进行非监督的学习的过程,请看下面一张图片。

1.3.3 强化学习

除了监督学习与非监督学习之外,还有一类叫做强化学习,它跟另外两类是对立的,也是一种学习的方式。强化学习算法的思路也比较简单,以游戏为例,如果某一种策略能够在游戏中或者高的分数,那么就不断强化这个策略,这样就能取得更好的分数。这种算法有点想抖音的推荐策略,如果你对某一方面的视频很感兴趣,那么就不断你的兴趣,持续给你推送这一类的视频,你就会对它越来越感兴趣,直到你越来越离不开它。在游戏的场景中强化学习很实用,在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。

这是一个非常典型的强化学习场景:

  • 代理-机器有一个明确的小鸟角色
  • 目标- 需要控制小鸟飞的更远
  • 环境- 整个游戏过程中需要躲避各种水管
  • 行动- 躲避水管的方法是让小鸟用力飞一下
  • 奖励- 飞的越远,就会获得越多的积分

你会发现,强化学习和监督学习、无监督学习 最大的不同就是不需要大量的“数据喂养”。而是通过自己不停的尝试来学会某些技能。强化学习目前还不够成熟,应用场景也比较局限,除了机器人和工业自动化之外,最大的应用场景就是游戏了。

2016年:AlphaGo Master 击败李世石,使用强化学习的 AlphaGo Zero 仅花了40天时间,就击败了自己的前辈 AlphaGo Master。2019年1月25日:AlphaStar 在《星际争霸2》中以 10:1 击败了人类顶级职业玩家。2019年4月13日:OpenAI 在《Dota2》的比赛中战胜了人类世界冠军。

1.4 工业界应用

目前在工业界应用里主要还是以监督学习为主,后面的内容我们也会着重介绍监督学习的算法。对于监督学习,有大量的案例,只有有标签,而且和预测相关,都可以归类为监督学习。比如人脸识别,十年前人们开玩笑常说的刷脸支付现在已经成了司空见惯的事,除此之外,像文本分类,情感分析,语音识别,机器翻译,目标检测,金融风控,自动驾驶等等,这些都是属于监督学习的范畴。

1.5 算法

监督学习算法主要有线性回归、逻辑回归、KNN、朴素贝叶斯、决策树、随机森林、SVM、GBDT、XGBoost和神经网络等等,非监督学习算法主要有PCA、K-Means、GMM、LDA等等。这些算法我会在后面的章节中做详细的介绍,这里先简单做一个铺垫。线性回归是最经典最简单的回归算法,就是要预测一个实际的值,比如一个人的身高,北京的房价或汽车的销量等等;逻辑回归是建立在线性回归之上的,虽然名字叫做回归,但它不是用来解决回归问题的,而是用来解决分类问题的;朴素贝叶斯常用在文本分类的场景之中;决策是是一个树状的形状,我们每天潜意识都在使用决策树,比如如果和平精英新出的皮肤只卖一块钱,那么我就来一套;随机森林和决策树比较类似,就像是我使用多个决策树来做决策,比如同样的问题我问很多的专家,让他们来帮我做决策,最后我再把这些专家的经验总结一下,得出一个结论。基本的介绍,大概就先介绍到这里,后面会有更加详细的算法讲解。

1.6 解决的问题

我们一般把机器学习所解决的问题分为分类和回归两类,两者输出是不一样的,回归问题输出的是连续性的数值,比如天气是28度或价格是10.0元,分类问题输出的是类别型数据,比如明天是阴天还是晴天,情感是好还是坏,贷款会逾期还是不会预期等等,类别的特征没有大小的关系,经典的分类问题就是图像识别,我们需要识别出图像是狗还是猫

1.7 建模流程

在了解了机器学习的准备知识之后,我们来看一下如何建立一个机器学习的模型。

数据是我们建立机器学习模型的开端,然后针对数据中的噪声进行预处理,数据决定了机器学习的上限,而算法只是尽可能逼近这个上限,这里的数据指的就是经过特征工程得到的数据。特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限。特征工程是机器学习建模流程中最重要的部分,主要包含特征构建,特征提取和特征选择三个部分,后面针对具体的案例我再详细展开。后面的过程就是建模和评估了,评估的方式主要是精确率、召回率和F1-Score,如果评估的效果不理想就需要重新做特征工程。

1.8 模拟练习

有一组数据[[152,51],[156,53],[160,54],[164,55],[168,57],[172,60],[176,62],[180,65],[184,69],[188,72]],其中第一个值代表身高,第二个值代表体重,需要我们根据身高来预测体重。

import numpy as np
import matplotlib.pyplot as plt
data = np.array([[152,51],[156,53],[160,54],[164,55],[168,57],[172,60],[176,62],[180,65],[184,69],[188,72]])
x, y = data[:,0].reshape(-1,1), data[:,1]
plt.scatter(x, y)
plt.xlabel('height(cm)')
plt.ylabel('weight(kg)')
plt.show()

显然输出的结果表示身高和体重呈线性关系,下面我画了三条线,很明显黄色的线可以更好的拟合这些点,然而,我们应该如何去找到这条线呢?

from sklearn import linear_model

rege = linear_model.LinearRegression()
rege.fit(x, y)
plt.scatter(x, y, color='red')
plt.plot(x, rege.predict(x), color='green')
print('身高178cm体重是%.2fkg' % rege.predict([[178]]))
plt.xlabel('height(cm)')
plt.ylabel('weight(kg)')
plt.show()

身高178cm体重是64.41kg

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 背景
  • 1.2 描述
  • 1.3 划分
    • 1.3.1 监督学习
      • 1.3.2 非监督学习
        • 1.3.3 强化学习
        • 1.4 工业界应用
        • 1.5 算法
        • 1.6 解决的问题
        • 1.7 建模流程
        • 1.8 模拟练习
        相关产品与服务
        人脸识别
        腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档