我很早就对人工智能是很是感兴趣的。记得我大学的毕业论文,就是使用遗传算法解决了一个经典的寻路问题。
我一直对人类经典的思想是很是敬畏和崇拜的,好比传统的计算机数据结构算法问题,例如经典的排序算法或者动态规划思想,把一些看似
复杂的问题居然用短短十几行甚至一个 for 循环就能解决,这令我感觉到了一种美学,也同时对人类的伟大思想而赞叹。
但传统的计算机算法其实仍是经过,人来编写代码,人来经过完整的、解决问题的思路来解决问题。但若是机器能有本身的思想,若是它本身就能“学习”到解决问题的方法,岂不是很是 cool 的一件事。但以我目前的认知来看,如今的人工智能是更像是一种工具,一种“数学工具”,一种“统计学工具”,
它是从大量数据里总结出了一种“规律”,用来解决实际问题。它离电脑真正有思想还相距甚远,甚至以目前来看,两者可能并非一回事。可能让机器具备思惟,还须要在其余学科上进行突破好比人的认知机制,脑科学进行突破。哈哈扯远了。算法
先来介绍本身的一些简单认识。数据结构
有一类几何对象,好比直线、平面、立方体,看上去都是有棱有角的,都是“直”的,在数学中称为线性机器学习
要处理它们相关的问题就很是简单。好比在高中就学过,两根直线能够用两个线性方程来表示,想求它们交点的话:函数
联立出二者的方程组,求出该方程组的解就能够获得交点工具
(1)咱们所处的世界、宇宙太复杂了,不少现象都没法理解,更谈不上用数学去描述;学习
(2)有一些符合特定条件的复杂问题,能够转化为简单的线性问题。线性问题就能够彻底被理解,彻底能够被数学所描述人工智能
以我目前的认知来看,机器学习主要的任务有两类。
第一就是分类任务,好比spa
也就是说,分类的结果是,人为预先定义的结果范围里的一种对象
而第二类任务就是回归任务,而它得出的结果是一个连续数字的值,而非类别。
例如排序
这是我目前的浅显理解。机器学习目前我以为是一种数学工具。经过喂给机器大量的学习资料,而后机器运行一个机器学习算法,训练出了一个模型。而后再向机器丢入问题,机器经过这个模型运算得出结果。
好比我收集到了有 x, y 的两组数据(好比年龄和身高),我想要知道这两组变量是否有线性关系。那么我先以一个变量为 x 轴,另外一个变量为 y 轴画出这样一副散点图。
那么我就能够找出这样的一条直线。这条直线的特征是:尽量的离全部离散点最近,也能够表述成,每一个离散点离直线距离的差值之和最小。
那么我就能够很好的根据我算出的这条直线,由已知的 x 值,来预测的未知的 y 值。
假如说 x, y 有线性关系的话,那么预测的效果仍是很不错的。因此线性回归的主要任务是,找出这条直线。
咱们先从单变量线性回归开始理解,即假设 x 只有一个特征(好比一氧化氮浓度),y 是房价。
根据前文提到的感性理解,咱们的目标就是找到最佳的直线方程:
其实就是求参数 a 和 b 的过程。
那其实咱们的目标就是,使得根据每个 x 点,使得
最小。这个方程叫作损失函数。
你可能想问为何是差的平方和最小?而不是差的绝对值和最小或者差的 3 或者 4 次方最小?
差的平方和最小在数学中叫作最小二乘法,这里给出一个连接
aotu.io
或者关注凹凸实验室公众号(AOTULabs),不定时推送文章。