看官,机器学习了解一下?

随着人工智能的火热,学习机器学习知识已经迫在眉睫

越来越多的企业已经开始逐步在产品中应用机器学习的模型,当下人工智能火热,未来引发一场技术革命也说不准。身为程序员,需要时刻了解前沿的各种信息,这样才能保证自己不被时代所淘汰。

本文将自己在机器学习中的笔记内容分享出来,也记录自己的学习过程。

什么是机器学习?

机器学习顾名思义,就是人类教会计算机利用以往的经验来完成指定的任务,能够像人类一样学习。

机器学习有三个要素:数据,模型,算法。这三者之间的关系就是通过数据利用一定的算法生成模型,让机器可以按照模型去处理或者预测新的数据。

机器学习常用的算法主要有决策树,朴素贝叶斯,线性回归,逻辑回归,SVM(支持向量机),神经网络等算法。此文先用简单的例子来逐一讲解各个算法概念,后续会详细介绍具体的原理和推导过程。

决策树

举个例子,我们有一些统计某些APP的下载情况的数据,如下图:


image

现在我们需要根据这些数据预测新用户会下载哪类APP,来进行精准的APP广告投放。

通过分析数据得出,我们可以根据年龄和性别大概判断不同的用户会下载哪类APP。

这就类似我们提出一个问题,通过判断,将答案分成两类,然后重复以上步骤,继续提问回答,最终得到类似树杈的模型,如下图所示:

image

这种预测的方式被称为决策树。

朴素贝叶斯

我们换个例子,现在我们需要制作一个垃圾邮件检测分类器,首先我们根据现有的邮件来手动标记垃圾邮件,找到垃圾邮件一般含有的特征。比如有100封邮件,我们手工找出垃圾邮件有25封,然后我们发现垃圾邮件中含有"cheap"这个单词有20封,这样可以推测如果一封邮件中含有“cheap”单词,那么它是垃圾邮件的概率为80%.

image

同理,我们也可以寻找其他的特征来预测,比如错别字,没有标题等等。这种通过打标签计算概率来分类事物的方式被称为朴素贝叶斯。

线性回归

再来个🌰,我们有一些大house,还有一些小居室,分别知道他们的面积和房价。现在需要预测一个面积位于他们之间的房子的价格。

image

将这些数据用坐标系表示出来,横轴代表面积,纵轴代表房价:

image

然后找到某一条直线能够拟合所有的数据,这里寻找这条直线使用梯度下降法(后面会介绍), 通过找到所有数据点到直线距离的平方和的最小值(最小二乘法),来确定最优拟合直线。

image

这种方式被称为线性回归。

梯度下降法

上文提到梯度下降法,很容易理解,假设我们在某个山顶,目标是到达山底。

image

该怎么处理呢?一般来说我们会查看四周下山的路,找到下降距离最大的方向,然后朝这个方向下山,反复此步骤,直至到达山底,这种方式就是梯度下降法。

image

在现实中我们可以把山顶想象成要解决的问题,到达山底可以当做对问题的解答。

逻辑回归

🌰是个好东西,能够帮助我们理解概念。假设一所学校的招生办,有一些往年学校招生的成绩数据。现在有位学生申请学校,入学考试为7分,在校成绩为6分,需要判断该学生是否达标。

image

观察往年的招生数据,我们会发现招生和未被招进的数据大概可以用直线分割,使用最小二乘法找到最拟合的分割线,通过梯度下降法来寻找,找到以后将该学生成绩带入坐标系中来查看结果。如图所示:

image

可以预测该学生可以被录取,这种算法被称为逻辑回归。

神经网络

还是用上面的例子,假如我们有一名同学入学成绩是9分,但是在校成绩书是1分,按照上面的预测,该学生可以入学。但是实际上这是不合理的,因为在校成绩太低,此时模型已经不能覆盖类似这种数据。

image

这种情况下该如何处理呢?可能实际录取学生的数据是这样的:

image

此时一条直线已经不能完全将录取和未被录取的学生分割了,可以用两条直线来区分这些数据,这样会分成4个区域,这样可以根据不同的成绩来将数据写入坐标系,然后判定数据在直线上方标记为YES,在直线下方标记为NO,就可以得到下图的模型:

image

最后将该学生数据带入模型中,入学成绩为9,在校成绩为1的数据应该写在右下方区域,分别为YES和NO。根据"和"原则,结果应该为NO,即不能录取。

这种判断方式就是神经网络,输入数据根据"和"原则来判断输出结果为“YES”还是“NO”。

image

由于和人类的神经处理方式极为相似,因此被称为神经网络。神经网络在很多方面都有应用,比如面部识别,语音识别,AlphaGo以及无人驾驶。

SVM(支持向量机)

假设我们有几个点的数据,现在需要使用线条分割这些数据,从图中看出我们可以找到至少两条直线都能将数据分割开来。

image

我们目标是找到一条最优直线,在这个过程中,首先需要去掉离直线最远的点,这些点会有较大干扰。然后找到剩余的点到直线的距离,查看这些点到哪条直线的最小距离最大,我们的目标就是让这个最小值尽可能的大,同样这个过程也会使用梯度下降法来找到这条最优直线。

image

从上图中可以看出,最终黄线的效果要比蓝线的效果好,这种方式被称为SVM(支持向量机)。

题后话

机器学习并不仅仅局限于上述提到的算法,也并不像所说的那样简单,现实中会有大量的数据和各种问题需要处理,本文总结的内容都尽量避免了数学的内容,但想搞懂机器学习原理最终都要回归到数学上,例如概率与统计学,线性代数,微积分这些都是少不了的(大学欠下的债迟早要还的)。

后续的文章中我会尽量用通俗的语言来总结,但是如果想入门机器学习,数学是一定需要的,这是理解原理必备的理论基础。

最后,欢迎大家关注我的公众号,让我们一起学习分享,努力实现开挂的人生!


image
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • https://developers.google.com/machine-learning/crash-cour...
    iOSDevLog阅读 7,801评论 1 11
  • 你认为自己能够为大家提供的价值有哪些? 第一反应是我不知道!可能没有 但我还是想完成这个话题,所以,我对自己说,要...
    不要垃圾阅读 1,342评论 0 1
  • 在人际关系方面,用发散性思维处理问题,任何事情都是用这种方式来处理的,你掌握的越多就会处理得越得心应手把它整理成一...
    智囊团阅读 1,513评论 0 0
  • 农村教育需要人 近日有教育工作者撰文称,自己跟一位农村校校长交流,谈到教学质量不高的问题,他谈了很多原因,但大都归...
    乡村追梦人阅读 1,256评论 0 4
  • 姓名:冯健 305A期学员 【日精进打卡第86天】 一、【知~勤学】 ①持诵 《六项精进》背诵大纲0遍总69遍 《...
    冯jian阅读 1,117评论 0 0

友情链接更多精彩内容