机器学习基础-day01-机器学习介绍

发布于:2025-09-01 ⋅ 阅读:(15) ⋅ 点赞:(0)

1 机器学习基础

1.机器学习算法通常较为简单,易于理解和实现。

2.KNN(K-近邻算法)线性回归 等这些算法不需要太多的数学基础。

3.机器学习主流框架的学习,如pytorch tensorflow paddlepaddle。

2 机器学习高级

1.高级机器学习算法通常更加复杂,涉及更多的数学和统计理论。

2.概率论知识的学习,高等数学知识的学习。

3.k均值聚类 、支持向量机等机器学习,学习算法的精讲

3 机器学习的定义

机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测

机器学习算法:包括线性回归、逻辑回归聚类算法(K均值聚类)、决策树、朴素贝叶斯、深度学习(卷积神经网络CNN、循环神经网络RNN、长短时记忆网络LSTM)等算法。

4 机器学习分类

机器学习经过几十年的发展,衍生出了很多种分类方法,这里按学习模式的不同,可分为监督学习、半监督学习、无监督学习和强化学习。

想象一下教一个孩子认识动物:

  • 监督学习:你拿着一张张动物卡片,告诉他“这是猫”、“这是狗”。

  • 半监督学习:你只告诉他一部分卡片(比如10%)是什么,剩下的90%让他自己从已学的知识中去琢磨和归类。

  • 无监督学习:你直接给他一堆动物卡片,但不告诉任何名字,让他自己根据形状、颜色等特征把相似的放在一起。

  • 强化学习:你把他带到动物园,他每指着一个动物猜名字,猜对了就给糖吃(奖励),猜错了就没有糖甚至轻微惩罚。他需要通过不断试错来学会。

4.1 监督学习

核心思想: 提供带有“正确答案”的训练数据,让模型学习从输入到输出的映射关系。

数据形式: 有标签数据。
输入(Input): 数据特征(Features),如图像的像素、文本的词汇。
输出(Output): 标签(Label),如图像对应的“猫”或“狗”,邮件对应的“垃圾”或“非垃圾”。

目标: 学习一个函数,使得对于新的、从未见过的输入数据,能够预测出尽可能准确的输出。

主要任务:
分类:预测离散的类别标签。
例子:垃圾邮件过滤、图像识别、情感分析(正面/负面)、疾病诊断(是/否)。

回归:预测连续的数值。
例子:房价预测、股票价格预测、气温预测。

常见算法: 线性回归、逻辑回归、支持向量机、决策树、随机森林、神经网络等。

比喻: 就像学生拿着标准答案的习题集来学习,学会了解题模式后,再去解答没有答案的新题目。

4.2 无监督学习

核心思想: 从无标签的数据中自行发现内在结构、模式或分布。

数据形式: 只有输入数据,没有对应的输出标签。

目标: 探索数据本身的内在关系,而不是预测一个标签。

主要任务:
聚类:将数据分成不同的组(簇),使得同一组内的数据点彼此相似,不同组的数据点不相似。
例子:客户细分、新闻主题分组、基因序列分析。

降维:在尽量减少信息损失的前提下,将数据从高维空间压缩到低维空间。目的是简化数据、可视化、去除噪声。
例子:将三维数据展示在二维平面上(如PCA主成分分析)。

关联规则学习:发现数据中属性之间的有趣联系(“如果A发生了,那么B也很可能发生”)。
例子:购物篮分析(“买尿布的人经常也会买啤酒”)。

常见算法: K-Means聚类、层次聚类、PCA、自编码器等。

比喻: 就像给学生一堆没有答案和题目类型的杂乱数学题,让学生自己观察并把相似的题目归为一类,或者总结出题目的共同特点。

4.3 半监督学习

核心思想: 介于监督学习和无监督学习之间,同时使用少量有标签数据和大量无标签数据进行训练。

为什么需要它? 在实际应用中,获取大量数据很容易(如爬取互联网图片),但为数据打上标签成本极高(需要人工一一标注)。半监督学习可以极大地降低对标注数据的依赖。

基本假设: 相似的数据点应该具有相似的输出。

工作方式: 模型先从少量的有标签数据中学习一个初步模型,然后用这个模型对无标签数据进行预测(称为“伪标签”),再利用这些伪标签数据来改进和优化模型,如此迭代。

例子:

在医学影像分析中,专家标注的CT扫描片(有标签)很少,但医院有海量的未标注CT片。可以用半监督学习来提升诊断模型的性能。

比喻: 老师只讲解了习题集里前10% 的题目(有答案),剩下的90%题目(无答案)让学生根据前面学到的知识自己完成,并鼓励学生通过研究这些未解答的题目来加深对知识的理解。

4.4 强化学习

核心思想: 一个智能体通过在环境中尝试不同的动作,根据动作结果获得的奖励或惩罚来学习最优策略。

核心要素:

智能体:学习者或决策者。

环境:智能体所处的外部世界。

状态:环境在某个时刻的情况。

动作:智能体可以做出的行为。

奖励:环境对智能体动作的反馈信号(一个数值)。

目标: 学习一个策略,使得智能体在一系列动作下能获得累积奖励的最大化。

特点: 没有“标准答案”,只有“奖励”信号。学习过程是试错的,并且通常具有时序性,当前的决策会影响未来的状态和奖励。

例子:

AlphaGo:动作是“落子”,奖励是“赢棋”(+1)或“输棋”(-1)。

自动驾驶:动作是“转向”、“加速”、“刹车”,奖励是安全行驶(正奖励)、撞车(负奖励)。

机器人学习走路:动作是控制关节电机,奖励是向前移动的距离。

比喻: 训练一只狗做动作。它做出了“坐下”的动作(Action),你就给它零食吃(Positive Reward);它随地小便,你就批评它(Negative Reward)。狗通过不断地尝试和你的反馈,最终学会哪些行为会得到奖励,从而形成习惯(Policy)。

5 scikit-learn库

scikit-learn(有时也写作 sklearn)是一个基于 Python 语言的开源机器学习库。它构建在 NumPy、SciPy 和 Matplotlib 之上,提供了大量用于传统机器学习(统计学习)的算法工具,其特点是:

简单高效:无论是数据预处理还是模型训练,都有统一的接口,几行代码就能实现强大功能。

文档丰富:拥有极其完善的官方文档和大量的社区教程,学习资源非常丰富。

覆盖面广:涵盖了几乎所有主流机器学习算法,从数据预处理、特征选择、模型训练、评估到模型持久化。

业界标杆:是学术界和工业界公认的基准工具,广泛应用于数据挖掘、数据分析、人工智能等领域。

5.1 核心API设计:一致性原则

这是学习 sklearn 最关键的一点!几乎所有模块都遵循统一的接口设计,这使得学习和使用起来非常容易。最重要的三个接口是:

Estimator(估计器):用于拟合/学习。任何可以基于数据集学习(拟合)参数的对象都叫估计器(例如,一个分类器、一个回归器、一个预处理工具)。学习通过 fit() 方法完成。

model.fit(X_train, y_train) # 学习模型参数

Predictor(预测器):用于预测。许多估计器在学习后可以进行预测,它们会提供 predict() 方法。

y_pred = model.predict(X_test) # 用学习到的模型进行预测

一些估计器还提供 predict_proba()(预测概率)、score()(计算准确率等)方法。

Transformer(转换器):用于数据转换。一些估计器可以转换数据集,它们提供 transform() 方法(有时也提供 fit_transform() 方法)。

X_scaled = scaler.transform(X) # 用学习到的规则(如均值、方差)转换数据

记住这个流程:创建对象 -> fit -> 转换/预测


网站公告

今日签到

点亮在社区的每一天
去签到