赞
踩
人工智能(Artificial Intelligence,AI),是新一轮科技革命和产业变革的重要驱动力量, [26]是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是智能学科重要的组成部分,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能是十分广泛的科学,包括机器人、语言识别、图像识别、自然语言处理、专家系统、机器学习,计算机视觉等。
在机器学习的基础上,结合传统的人工智能方法能够提升最终效率。
上面的列举也不全,生物的结构蛋白、化学的合成材料,早期的这些都是靠烧钱不停地实验来进行。如AlphaFold给结构蛋白的研究带来了巨大发展,计算材料学科中也在使用深度学习的模型来预测材料的合成特性。越来越多的传统学习都开始交叉计算机学科,引入人工智能为传统学习提供新的方向。
自然语言处理(Natural Language Processing,NLP)是人工智能领域的一个重要分支,研究如何使计算机能够处理和理解人类语言。早期的自然语言处理主要专注于语音识别与合成、语言翻译、问答系统等。早期的NLP主要基于规则推理,准确率只能达到70%多,再难以提升。后来基于统计分析的NLP,其准确率达到90%以上。生成式人工智能(GAI,Generative Artificial Intelligence )的ChatGPT就是自然语言处理的实现,随着类GPT人工智能的进一步发展,其展现出来的能力有望统一人工智能。通用人工智能(AGI, General Artificial Intelligence)是目前类GPT人工智能正在追寻的目标。
机器学习(Machine Learning , ML) 是一种人工智能(AI)领域的分支,其目标是使计算机系统具备从数据中自动学习和改进的能力,而无需明确地进行编程。它利用统计学、数据挖掘和模式识别等技术,通过构建和训练模型来实现任务的自动化。
机器学习的主要思想是根据数据的模式和规律来进行预测、分类、聚类和决策等任务。它通过使用大量的训练数据来训练模型,并在未见过的数据上进行预测或推断。机器学习的核心概念包括特征提取、模型选择和评估,以及模型优化。
在机器学习中,有多种常见的算法和技术可供选择,如监督学习、无监督学习和强化学习。在监督学习中,算法通过输入的训练数据和对应的输出标签来进行学习和预测;无监督学习则是从未标记的数据中寻找模式和结构;而强化学习则涉及代理根据环境的反馈逐步改善其行为。
机器学习在各个领域都有广泛的应用,如自然语言处理、计算机视觉、金融预测、医学诊断和智能推荐等。它的成功依赖于高质量的数据、合适的特征选择和强大的计算资源。
机器学习也面临一些挑战和限制,如缺乏足够的标记数据、过拟合和泛化问题等。因此,在实际应用中,机器学习的成功还需要结合领域知识和人类专家的经验来进行调整和优化。
回归和分类是机器学习的两个重要领域,以下就以回归和分类的两个示例来讲解机器学习的基本原理。有规律的连续的数据要符合一个数学公式,那么就讲这些数据回归到这个公式,如一元线性回归,多元线性回归等。分类中的二分类,其分类只有两个状态,是/否、对/错等。
简单来说,比如抛一枚硬币,我可以认为抛出正面的概率就是1/2。若实际抛掷,抛10次,也许会有七次是正面,但如果抛很多很多次,那得到的正面占比将十分接近50%,这就是“频率接近于概率”的观念。在数据量少的时候,频率与概率的关系可能相差较大,但是在数据量足够大的时候,其出现的频率无限接近于概率。大数定律是机器学习的根基。
我们以房屋面积和房价这个简单的关系来做一个简单的示例。如下图有4个数据(房屋面积, 房价),那么我们如何拟合(Fit)一条直线,让这条直线更准确地反映房屋面积和房价的关系。假设这条直线的数据表达式为:
那么真实数据与评估数据之间的误差和可以表达为:
误差和越小,表明这条拟合的直线越准确。但是误差和什么时候最小并不好计算。
如果有下面这样一个曲线,如何求y的最小值呢?我们知道曲线某点切线斜率为0的时候,对应的y最小。导数的几何意义其实就是斜率。曲线最小值,其实也就是曲线对应的函数求导为0时对应的值。
上面的误差和不好求最小值,那么如果将误差平方和呢?
展开为:
我们可以看到这个函数是关于a和b的一个三维曲面,这里我们可以分别对a和b求偏导,再设置偏导为0即可以得出两个a和b的方程,然后即可求出最小误差平方和对应的a和b,即得到这线性拟合方程的完整表达式。这种求最小误差平方和的方法被称为最小二乘法。
投资里经常会说到价值回归,意思是说股票的价格最终是要回归到企业真实的价值,不会一直偏高,也不会一直偏低。如果拟合的直线非常准确,那么后续的新数据也是要回归(靠近)这条直线的,因为此数学表达式只有一个自变量(房屋面积),所以也被称为一元线性回归。
在真实的环境中,影响房价的因素肯定不止一个房屋面积,还有容积率、小区环境、交通等因素。
那么F(x) = W*x + b这里的x就是一个矩阵[房屋面积, 容积率,绿化率,交通],W也是一个矩阵[房屋面积影响系数,容积率影响系数, 绿化率影响系统,交通影响系数],这样就是一个多元线性回归方程。同样是利用最小二乘法来求解。在实际编程中,有很多机器学习框架,直接提供了库,直接填写参数个数,对应的数据,机器学习算法会自动求解出参数矩阵W和截距b的值。
拟合完直线之后,需要用新的数据来验证拟合的直线效果如何,一般采用这两个判断标准:
机器学习框架库一般都提供接口得出这两个值。
最小二乘法的计算量很多,针对数据量比较大的训练集时,可以采用优化版本梯度下降法来求解最小误差下对应的参数。
拟合的效果如果不好,那么就需要进一步的处理。如对数据进行进一步的清洗,提升数据的有效性。或者重新设计模型,如设计非线性模型。然后再进行新的训练和验证,直到得到的模型和参数符合要求。
条件概率:条件概率是指事件A在事件B发生的条件下发生的概率,也等于A和B一起发生的概率除以B发生的概率。
假如有一堆关于天气等因素与是否外出打球的统计数据如下:
样本序号 | 天气状态 | 气温 | 湿度 | 风力 | 是否外出打羽毛球 |
1 | 晴天 | 热 | 高 | 低 | 否 |
2 | 晴天 | 热 | 高 | 高 | 否 |
3 | 阴天 | 热 | 高 | 低 | 是 |
4 | 下雨 | 适宜 | 高 | 低 | 是 |
5 | 下雨 | 冷 | 正常 | 低 | 是 |
6 | 下雨 | 冷 | 正常 | 高 | 否 |
7 | 阴天 | 冷 | 正常 | 高 | 是 |
8 | 晴天 | 适宜 | 高 | 低 | 否 |
9 | 晴天 | 冷 | 正常 | 低 | 是 |
10 | 下雨 | 适宜 | 正常 | 低 | 是 |
11 | 晴天 | 适宜 | 正常 | 高 | 是 |
12 | 阴天 | 适宜 | 高 | 高 | 是 |
13 | 阴天 | 热 | 正常 | 低 | 是 |
14 | 下雨 | 适宜 | 高 | 高 | 否 |
概率统计:
天气状况x1 | 气温 | 湿度 | 有风x4 | 是否要羽毛球 | |||||
是 9 | 否 5 | 是 9 | 否 5 | 是 9 | 否 5 | 是 9 | 否5 | 是 9 | 否 5 |
晴 2/9 | 3/5 | 热 2/9 | 2/5 | 高 3/9 | 4/5 | 低 6/9 | 2/5 | 9/14 | 5/14 |
阴 4/9 | 0/5 | 宜 4/9 | 2/5 | 正 6/9 | 1/5 | 高 3/9 | 3/5 | ||
雨 3/9 | 2/5 | 冷 3/9 | 1/5 |
那么如何根据天气预报预测出明天是否外出打球呢?假设明天天气为:晴天、气温冷、湿度高、风力高。
这里就利用条件概率分别计算外出打球在不同的天气组合下的概率P(是|x)和不外出打球的概率P(否|x),然后比较P(是|x)和P(否|x)大小,即预测出是否外出打球。分别计算:
P(否|x)>P(是|x),所以预测结果为不去打羽毛球。这种算法最早由贝叶斯提出的,所这种分类算法也叫贝叶斯分类算法。
这些步骤并不一定是线性的,通常需要多次迭代和调整才能得到最佳的模型效果。机器学习的过程强调了数据的重要性,以及模型的训练、评估和调优等环节的重要性。
将收集的数据按特征和值在坐标上进行标注,观察其符合什么样的数据模型。初步一看,线性模型似乎可以。
然后建模: y=f(x)=A.x+B,然后利用机器学习框架中的线性模型,选择使用最小二乘法求解还是梯度下降求解。然后将准备好的数据提交给机器学习模型进行训练(也就是让机器开始从数据中学习),训练完成之后就会得到A和B的值。
开始模型评估,我们使用误差函数R方来评估,发现结果不理想,欠拟合(Under Fitting)。
仔细观察,发现使用一条曲线拟合性可能会更好。我们可以考虑二阶或三阶函数的模型,如:
二阶:y=A*x + B*x*x + C
三阶: y = A*x + b*x*x + C*x*x*x + D
数学模型不一定是阶数越多,越准备越好。如下图分别是线性拟合,3阶拟合,10阶拟合。
可以看出,线性拟合是欠拟合,3阶拟合非常好,10阶拟合在训练数据时效果最好,但是评估时效率很差,这是过拟合(Over Fitting),拟合过度了。
选择合适的数学模型,非常需要经验。另外训练过程中,可能需要反复调整一些参数。如果使用梯度下降法,可能需要不断调整学习率超参数,达到既快又准确。
机器学习的三种主要学习范式,分别为监督学习、无监督学习和强化学习。实际在大型机器学习模型中,可能几种学习方式都会有,如半监督学习即一半监督学习,一半无监督学习。下面的分类只是基本的分类。
监督学习(Supervised Learning)使用有标签的训练数据,其中每个样本都有输入特征和对应的标签或输出。模型通过学习输入和输出之间的映射关系来进行预测或分类。
监督学习适用于分类和回归等任务。例如,垃圾邮件检测,图像识别,房价预测等。常见的监督学习算法如下:
无监督学习(Unsupervised Learning)使用无标签的训练数据,其中只有输入特征没有对应的标签。模型通过发现数据中的结构、模式或特征来进行数据分析和学习。
无监督学习主要用于聚类、降维和异常检测等任务。例如,市场细分,图像分割,推荐系统等。常见的无监督学习算法:
强化学习(Reinforcement Learning)是通过与环境的交互来学习做出最佳决策的学习方式。模型通过尝试不同的动作并根据奖励和惩罚信号来调整策略,以最大化长期累积奖励。强化学习的框架一般使用OpenAI Gym、Stable Baselines、TensorFlow等。
强化学习常用于机器人控制、游戏策略、自动驾驶等任务。例如,AlphaGo在围棋领域的成功应用。常见的强化学习算法:
强化学习也会生成模型,模型中记录有最佳策略,供机器学习算法后续使用。
PyTorch、TensorFlow 和 scikit-learn 是三个非常流行的机器学习和深度学习框架,它们各有自己的特点和优缺点:
总的来说,PyTorch 更适合研究和实验,TensorFlow 更适合生产环境部署,scikit-learn主要用于传统的机器学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。