Python机器学习算法入门教程
机器学习(Machine Learning,简称 ML)是人工智能领域的一个分支,也是人工智能的核心,其涉及知识非常广泛,比如概率论、统计学、近似理论、高等数学等多门学科。
机器学习的目的是设计、分析一些让计算机可以自动“学习”的算法,最终让计算机拥有像人类一样的智慧,甚至于超越人类。这一结果的实现,要得益于机器学习算法(Machine Learning Algorithms),它提供了一整套解决问题的方案和思路,即先做什么、再做什么、最后做什么。
如果把机器学习比作一列火车的话,那么机器算法就是火车头,引领你成功抵达目的地。
Python机器学习
就当下而言,Python 无疑是机器学习领域最火的编程语言,这得益于 Python 对科学计算的强大支持。因此,本套教程中关于机器学习算法的代码均采用 Python 机器学习库 sklearn 编写。
机器学习的最主要的一项工作就是“训练模型”,训练模型的过程就是机器学习算法实现的过程,这里的算法和我们经常提及的算法有些区别,比如插入排序、归并排序等,它们的结果都是“计算出来的”,只要确定输入,就可以给定一个值,而机器学习的算法是“猜”出来的,既然是猜,那么就会有对有错,机器学习会根据猜的“结果”,不断的优化模型,从而得出正确率最高的“结果”。
机器学习的学习形式可以分为两大类:
- 有监督学习
- 无监督学习
每一类学习形式都对应着相应的算法,比如线性回归算法、KNN 分类算法、朴素贝叶斯分类算法、支持向量机算法等等,并且这些算法都有与其相适用的场景,本套教程将对上述算法的原理和应用做详细的介绍。
教程特点
机器学习算法,毫无疑问是比较难学的,它不仅拥有望而生畏的数学公式,还有晦涩难懂的逻辑思路。本教程尽量以通俗易懂的方式讲解所有算法,由于教程中会涉及较多的数学知识,我们在保证知识严谨性的基础上,尽量绕开繁琐、难懂的数学定义,让您更容易理解,从而尽快实现机器学习算法入门。
本套机器学习算法教程推崇“学以致用”,使用机器学习算法解决实际问题才是学习者的最终目的,所以教程中还会涉及如何将机器学习算法应有到实际场景中。除此之外,通过对本教程的学习,您还可以熟练掌握 Python 机器学习算法库 sklearn 的使用。
什么是人工智能?
很早就想写一门关于 Python“机器学习”的教程,不过碍于自身知识的局限性,不知如何下手。如果写的教程通篇只是探讨代码、数学知识、算法原理,这样的教程读起来必然索然无味。经过冥思苦想,终于突发灵感,可不可以写一部关于“机器学习算法”的入门教程呢?让初学者更容易理解常用的机器学习算法,从而帮助那些想要了解机器学习的人,打开通往人工智能世界的大门。
写在前面的话
机器学习是一门涉及了大量逻辑与算法的技术,令很多人望而却步,既想掌握,又害怕自己数学知识“拖后腿”,最终导致前功尽弃。
本教程本着“讲一点,透一点”尽量绕开繁琐的数学公式,以简单、通俗易懂的形式讲解“机器学习算法”。对于必须讲解的数学公式,也会竭尽所能“讲透彻,讲细致”,其次也会结合算法的原理与应用场景讲解具体实例,最终打通你的“任督二脉”,助你走进人工智能的世界。
在正式讲解机器学习算法之前,我们需要对人工智能做简单的认了解与认识。
人工智能应用
我们正处在一个日新月异、飞速变革的时代,层出不穷的新技术,无时无刻不刷新着我们的世界观,这其中信息技术发挥了巨大的作用,比如计算机、互联网、智能家居等技术的普及极大地方便了人们的生活,这在几十年前根本是无法想象的。
近些年“人工智能”热潮的兴起,这给我们的生活带来了巨大的改变。无人驾驶、机器翻译、语音识别、图像识别,这些都是“人工智能”的产物。比如 AlphaGo Zero 一台没有任何围棋知识的智能机器,经过几天的自我博弈成为了世界第一的围棋大师;“风格多变 app”能自动将用户的上传的照片转变为具有艺术风格的照片;“机器翻译”可以在很短的时间内将一种语言翻译成另外一种语言,以及 AI 智能医生能够将病情诊断变得更加精准。
在过去的几年内,“人工智能”技术不仅在学术上取得了巨大的突破,也开始走向寻常百姓家,比如小度、天猫精灵等语音控制机器。
人工智能发展简史
“人工智能”(Artificial Intelligence),英文缩写为 AI 从字面意思来看,它指的是让机器获得像人一样的智慧。电影《黑客帝国》中的大 BOSS 就是一个名叫“矩阵”的智能机器。但“人工智能”真的会像科幻电影一样,在不久的将来控制世界与人类吗?其实这种担心就目前而言大可不必,这种可能只能存在于影片艺术表现形式中。不过你要问“人工智能”会取代人类吗?这一点倒值的你我深思。
1、第一次兴起
“人工智能”并非一个新兴概念,早在 1950 年 艾伦·图灵 就提出了图灵测试机的构想。随后