机器学习

从机器学习谈起

什么是机器学习

  1. 依据数据做判断
  2. 一般的机器学习模型至少考虑两个量:一个是因变量,也就是我们希望预测的结果,另一个是自变量,也就是用来预测的量。
  3. 决策树模型
  4. 多自变量
  5. 线型回归方法建立模型
  6. 机器学习方法是计算机利用已有的数据(经验),得出了某种模型(迟到的规律),并利用此模型预测未来(是否迟到)的一种方法。
  7. 机器学习界“数据为王”的思想。一般来说(不是绝对),数据越多,最后机器学习生成的模型预测的效果越好。

范围

  1. 模式识别
    模式识别源自工业界,而机器学习来自于计算机学科。不过,它们中的活动可以被视为同一个领域的两个方面
  2. 数据挖掘
  3. 统计学习
  4. 计算机视觉
    图像处理+机器学习
  5. 语音识别
  6. 自然语言处理
    文本处理+机器学习

回归算法

线性回归

最小二乘法——梯度下降法
线性回归处理的是数值问题,最后预测出的结果是数字。

逻辑回归

线型回归处理的问题类型与逻辑回归不一致。
逻辑回归属于分类算法,预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。

逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。

ANN 人工神经网络

Artificial Neutral Network
分解与整合
简单的神经网络的逻辑架构分成输入层,隐藏层,和输出层。
输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。
每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。

SVM(支持向量机)

将数据从低维映射到高维

SVM 支持向量机

聚类算法

训练数据不含标签,而是通过训练,推测出这些数据的标签。这类算法有一个统称,即无监督算法(前面有标签的数据的算法则是有监督算法)。无监督算法中最典型的代表就是聚类算法。
聚类算法就是计算种群中的距离,根据距离的远近将数据划分为多个族群。

降维算法

降维算法也是一种无监督学习算法。
将数据从高维降低到低维层次。
维度表示的是数据的特征量的大小,例如,房价包含房子的长、宽、面积与房间数量四个特征,也就是维度为4维的数据。可以看出来,长与宽事实上与面积表示的信息重叠了,例如面积=长 × 宽。通过降维算法我们就可以去除冗余信息,将特征减少为面积与房间数量两个特征,即从4维的数据压缩到2维。
刚才说的降维过程中减少的维度属于肉眼可视的层次,同时压缩也不会带来信息的损失(因为信息冗余了)。
如果肉眼不可视,或者没有冗余的特征,降维算法也能工作,不过这样会带来一些信息的损失。
降维算法可以从数学上证明,从高维压缩到的低维中最大程度地保留了数据的信息。
降维算法的主要作用是压缩数据与提升机器学习其他算法的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。另外,降维算法的另一个好处是数据的可视化,例如将5维的数据压缩至2维,然后可以用二维平面来可视。降维算法的主要代表是PCA算法(即主成分分析算法)。

推荐算法

可以自动向用户推荐他们最感兴趣的东西。
推荐算法有两个主要的类别:

  1. 基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,这样的前提是每个物品都得有若干个标签,因此才可以找出与用户购买物品类似的物品,这样推荐的好处是关联程度较大,但是由于每个物品都需要贴标签,因此工作量较大。
  2. 基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。
    推荐算法中最有名的算法就是协同过滤算法。

其他

  1. 高斯判别
  2. 朴素贝叶斯
  3. 决策树等等算法

子类——深度学习

传统的神经网络发展到了多隐藏层的情况

父类–人工智能

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之的关系(如一对多、多对多),SQLAlchemy 自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 话管理: SQLAlchemy 使用话(Session)来管理对象的持久化状态。 话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值