机器学习基本概念
机器学习
机器学习是一种人工智能的技术,它使计算机能够通过对大量数据进行分析和学习,从而自动进行预测和决策。机器学习的核心思想是利用算法和统计学的方法,让计算机在没有人类干预的情况下从数据中“学习”到模式,并使用这些模式来进行自主的决策。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。
深度学习
深度是机器学习的一个子集,它使用人工神经网络从大量数据中学习,并能够像人脑一样处理复杂任务。深度学习通过构建多层神经网络,从数据中自动提取特征,进而实现对数据的预测、分类、聚类等操作。这种学习方法不需要手动设计特征,而是通过大量的数据训练,让模型自动学习数据的内在规律和表示层次。深度学习的核心思想在于从数据中自动学习特征,这使得它能够处理高维、非线性和复杂的数据,并且在训练过程中不断优化模型。
机器学习常见任务
- 回归任务(Regression):输出一个具体的数值
- 分类任务(Classification):从预设选项中选择一个进行输出
- 结构式学习(Strcuted learning):输出一个有结构的东西,例如图片和音频、
机器学习找函数的过程
1.写出一个带有未知参数的函数
对于某个预测问题,我们可以将函数写为,这里是要预测的数值,为特征(feature),其也是数值,和都是未知参数,将称为权重(weight),称为偏置(bias)。在机器学习中,带有未知参数(parameter)的函数称为模型(model)。
2.定义损失(loss)函数
定义损失函数,其输入是权重和偏置。损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值时,这笔数值是好还是不好。
通常来说评估预测值和实际值之间的差距,有多种不同的计算方法:
a.平均绝对误差(Mean Absolute Error,MAE)
b.均方误差(Mean Squared Error,MSE)
c.交叉熵(Cross Entropy)
损失求解公式:
其中代表训练数据的个数,越大表示这一组参数越不好,越小代表这一组参数越好
如下图展示了尝试不同参数后得到的损失值画出来的等高线图,该图被称为误差表面(error surface)
3.解一个最优化问题
其实就是求当损失最小时,和的值是多少。最常见的方法是梯度下降(gradient descent)算法。
梯度下降算法的工作原理:通过计算损失函数关于模型参数的梯度,然后沿着梯度的反方向(即最陡峭的下降方向)更新参数。这样,每次迭代都会使损失函数值减小(至少在局部上是这样的),从而逐渐接近损失函数的最小值。
梯度:其实是一个向量,其方向指向函数增长最快的方向。梯度的计算公式为:
算法步骤:
- 初始化参数:选择初始参数向量
- 计算梯度:在当前参数向量的位置计算目标函数的梯度
- 更新参数:根据梯度和学习率更新参数向量
- 迭代:重复步骤2和3,直到满足停止条件,如梯度足够小、达到预定的迭代次数或参数更新量小于某个阈值
学习率(learningrate)会影响步伐大小。学习率是自己设定的,如果设大一点,每次参数更新就会量大,学习可能就比较快。如果设小一点,参数更新就很慢,每次只会改变一点点参数的数值。
这种需要自己设定的参数,而不是机器学习到的,称为超参数(hyperparameter)
下图展示了梯度下降优化的过程