1.什么是机器学习?
机器学习是人工智能(AI)的一个分支,它使计算机系统能够从经验中学习并根据这些学习的数据做出决策或预测,而无需进行明确的编程。简而言之,机器学习涉及算法和统计模型的使用,使计算机能够执行特定任务,通过分析和学习输入数据来提高性能。
主要类型
机器学习通常可以分为以下几种类型:
-
监督学习:这是最常见的类型,其中模型通过已标记的训练数据学习。算法试图学习输入数据到输出数据的映射函数。例如,基于一系列的邮件数据(输入),机器学习模型可以学习区分哪些是垃圾邮件,哪些不是(输出)。
-
无监督学习:在这种类型中,算法被用来分析和聚类未标记的数据。由于输入数据没有标签,模型试图自己找出数据的结构。这常用于市场细分、社群检测等场景。
-
强化学习:在强化学习中,算法通过试错法在特定环境中作出决策,并根据这些决策的结果来学习和调整策略。这是学习优化策略的一种方式,广泛用于游戏、机器人导航等领域。
-
半监督学习:这种方法结合了监督学习和无监督学习。使用部分标记的数据训练模型,这种类型的学习用于当获取完全标记的数据成本过高或不可行时。
-
自监督学习:这是一种特殊类型的无监督学习,其中模型通过自我生成的标签从数据中学习。
关键技术和算法
-
神经网络:深度学习的核心技术,模拟人脑的神经元网络来处理复杂的数据结构。
-
决策树:通过构造决策树来进行分类和回归。
-
支持向量机(SVM):用于分类和回归的强大方法,它通过找到最佳的决策边界来区分不同的类别。
-
聚类算法:如 K-means、层次聚类等,用于将数据集中的样本分组。
-
回归分析:包括线性回归和逻辑回归,用于预测数值型或分类型输出。
应用领域
机器学习已经被广泛应用于多个领域,包括但不限于:
-
金融行业:用于信用评分、股市预测、欺诈检测等。
-
医疗领域:用于疾病诊断、医学图像分析、药物发现等。
-
自动驾驶汽车:通过机器学习进行环境感知、决策制定。
-
推荐系统:在电商、流媒体服务等平台上个性化推荐内容或产品。
-
自然语言处理:包括语音识别、机器翻译、情感分析等。
2.机器学习案例
计算给定数据集的香农熵(Shannon entropy)。香农熵是信息论中用来衡量信息的不确定性或混乱度的指标,通常用于分类任务中评估数据集的纯净度。
首先定义一个计算数据集香农熵的函数。
# 计算给定数据的香农熵
from math import log # 用于计算对数函数
def calShannoEnt(dataSet): # dataSet 参数是一个列表,其中每个元素也是一个列表,表示数据集中的一个实例
numEntries=len(dataSet) # 计算机数据集中的实例总数,也就是矩阵的函数
labelCounts={} # 创建一个空字典用来计数数据集中每个类标签的出现次数
for featVec in dataSet: #循环遍历数据集中的每个实例(列表)
currentLabel=featVec[-1] # 获取每个实例的最后一个元素作为标签(类别)
if currentLabel not in labelCounts.keys(): # 检查当前标签是否已经在 labelCounts 字典的键中,如果不在,则将其添加
&nb