上 【AI底层逻辑】——篇章5:机器学习算法之回归分类

往期精彩:
引入
计算机发明初,专家通过将专业知识和经验梳理成规则输入计算机程序,但是这样跟不上知识更新速度,费时费力!于是一种“偷懒“的方法诞生了——机器学习,计算机可以从数据中自动学习规律,它并不神秘难懂,实际上它是一套严谨的运算逻辑(数据处理逻辑) 。算法好比机器的引擎,能让计算机无人干预下,基于数据变成某一领域”专家“ 。
一、何为机器学习
什么是“学习”?在图灵奖和诺贝尔经济学奖得主西蒙教授看来,学习的核心是改善性能 。“机器学习”最早由塞缪尔提出,他的西洋跳棋程序是世界上第一个能自我对弈的程序 。汤姆.米切尔这样定义“机器学习”:是一个计算机程序,由一些任务(T)中的表现(P)来度量,通过经验(E)学习改进 。吴恩达教授认为,机器学习是一门使计算机可以不用显式编程就能运作的科学 。
1、定规则和学规则
传统编程基于规则,目的式快速找到答案,这里的规则指的是程序员比较熟悉的数据结构和运算方法,它们都是计算机程序的核心,规则定好后输入数据就会得到相应答案,通常答案式确定的 。
机器学习与传统编程最大的区别是,计算机输出的是一套将输入变成输出的过程,而非答案的结果——机器学习时,算法尝试找到输入与输出数据的“关联”,并不断更新迭代这个“关联”,一旦通过检验,这套关联规则就成了一个数学模型 。
从数学角度看,机器学习具备3个要素:模型、算法、策略 。
①模型:定义了学什么,将一个实际业务问题转化为一个可用数学来量化表达的问题 。
②算法:定义了怎么学,实质上是一种数学运算方法 。如数学上求解最小二乘问题时会用到梯度下降的迭代方法,这就是算法 。
③策略:定义了何时结束学习,即学习优化的目标和准则 。数学上通常表现为一个损失函数,来评价预测值与理论值之间的差距,将机器学习转化为一个损失函数最小化的优化问题 。
注意:“机器学习”和“机器学习算法”不一样 。机器学习是一个从数据中学习得到模型的完整过程,是一个工程问题;而机器学习算法是期间用到的数学运算方法,是一个数学问题 。
范围上,AI>机器学习>深度学习,机器学习是实现AI的一种方法,深度学习是实现机器学的一种技术 。深度学习是以人工神经网路为基础的一系列模型;机器学习除了神经网络结构,只要是能通过数据训练出来的模型都可归到机器学习范畴;AI则除了机器学习这样的计算机应用外,还会拓展到生物学、认知学和心理学等 。
2、算法的定义
算法是提前定义的运算方法,是计算机遵循的一组步骤或规则,算法就是“烹饪过程” 。在计算机中算法表现为一段程序指令,如冒泡算法、MD5加密算法、哈希算法等 。它们给出了一套通用解决方案,具备很强的问题迁移能力!
以前,算法指令只是一套事先就决定了基本执行逻辑的规则,有多“智能”取决于程序员 。后续出现了机器学习算法,来自动总结数据规律解决更复杂的问题!
在今天几乎90%的程序员不会跟算法直接打交道,这些算法被专门的算法工程师封装到软件,对其他程序员来说像一个”黑盒“ 。一些简单算法可直接调用软件包,复杂的算法则需要专门购买,”算法“变成了一种商品!
二、机器学习算法
算法在设计之初思想很朴素,很简洁,只是为了解决某个问题,之所以难以理解是因为它与人类思考问题的方式差异很大 。构建一个机器学习算法模型,有几个核心问题需要解决: