机器学习算法:从逻辑回归到朴素贝叶斯
立即解锁
发布时间: 2025-09-06 00:19:58 阅读量: 13 订阅数: 11 AIGC 


机器学习:从零开始
### 机器学习算法:从逻辑回归到朴素贝叶斯
#### 1. Turi Create中的逻辑回归算法
在Turi Create中构建连续感知器分类器相对容易,因为该包会为我们处理大部分繁重的工作。以下是具体步骤:
1. **加载数据到SFrame**:
```python
import turicreate as tc
data = tc.SFrame({'X1': X[0], 'X2': X[1], 'y': y})
```
2. **训练分类器**:
```python
classifier = tc.logistic_classifier.create(data,
features = ['X1', 'X2'],
target = 'y',
validation_set=None)
```
3. **评估模型系数**:
```python
classifier.coefficients
```
得到的系数可能与手动编码得到的不同,但边界线仍然相似。
#### 2. 多类别分类 - Softmax函数
到目前为止,我们看到连续感知器可以对两类(如开心和悲伤)进行分类。但如果有更多类别呢?对于离散感知器来说,对两类以上进行分类很困难,但连续感知器可以做到。
##### 2.1 两类情况
如果只有两类,如狗和猫,感知器会返回一个0到1之间的数字,表示该数据点被分类为狗的可能性。要得到分类为猫的概率,只需用1减去分类为狗的概率。
##### 2.2 三类情况
如果有三类,如狗、猫和鸟,就不能简单地这样做了。可以构建三个分类器,分别对应狗、猫和鸟,然后让它们投票,预测结果对应得分最高的分类器。但有一个更简单的方法:每个分类器返回一个分数,然后将该分数通过一个Sigmoid函数。
例如,有三个分类器对某个数据点的输出分数如下:
| 分类器 | 分数 |
| ---- | ---- |
| 狗分类器 | 4 |
| 猫分类器 | 2 |
| 鸟分类器 | 1 |
将这些分数转换为概率的一种方法是将它们除以总和(这里总和为7),得到狗的概率为4/7,猫的概率为2/7,鸟的概率为1/7。但如果分数如下:
| 分类器 | 分数 |
| ---- | ---- |
| 狗分类器 | 2 |
| 猫分类器 | 0 |
| 鸟分类器 | -2 |
总和为0,无法进行除法运算。如果对分数进行平方,得到的概率也不合理。我们需要一个函数,输入高时输出高,输入低时输出低,且永远为非负,指数函数就满足这些性质。通常选择 $e^x$ ,因为它有很好的数学性质。
对上述分数应用 $e^x$ 函数:
| 分类器 | 分数 | $e^x$ 结果 |
| ---- | ---- | ---- |
| 狗分类器 | 2 | 7.389 |
| 猫分类器 | 0 | 1 |
| 鸟分类器 | -2 | 0.135 |
然后进行归一化,即除以总和(7.389 + 1 + 0.135 = 8.524),得到:
| 分类器 | 概率 |
| ---- | ---- |
| 狗分类器 | 0.867 |
| 猫分类器 | 0.117 |
| 鸟分类器 | 0.016 |
这就是三个分类器给出的概率,使用的函数就是Softmax函数,其一般形式如下:
如果有 $n$ 个分类器输出 $n$ 个分数 $a_1, a_2, \ldots, a_n$ ,得到的概率为 $p_1, p_2, \ldots, p_n$ ,其中
\[p_i = \frac{e^{a_i}}{\sum_{j=1}^{n} e^{a_j}}\]
如果只对两类使用Softmax公式,会得到Sigmoid函数。
#### 3. 连续感知器的特点
- **预测值**:连续逻辑分类器(或连续感知器)与离散对应物非常相似,不同之处在于它们预测的是0到1之间的任何数字,而不是离散的0或1。
- **信息丰富性**:连续感知器比离散感知器更有用,因为它们提供了更多信息。它们不仅告诉我们分类器预测的类别,还给出了概率。
- **对数损失**:是连续感知器的误差函数,针对每个点分别计算,是该点根据其标签被正确分类的概率的自然对数。
- **总对数损失**:分类器在数据集上的总对数损失是每个点的对数损失之和。
- **逻辑回归技巧**:取一个带标签的数据点和一条线。如果点被错误分类,将线移近该点;如果正确分类,将线移远该点。这比感知器技巧更有用,因为感知器技巧在点被正确分类时不会移动线。
- **逻辑回归算法**:用于将连续感知器拟合到带标签的数据集。从具有随机权重的连续感知器开始,不断随机选择一个点并应用逻辑回归技巧,以获得稍好的分类器。
#### 4. 贝叶斯定理与朴素贝叶斯算法
朴素贝叶斯是一种非常重要的机器学习预测算法。与之前学过的算法(如感知器算法,其预测是离散的0或1)不同,朴素贝叶斯算法是纯概率性的,预测结果是0到1之间的数字,表示标签为正的概率。其核心是贝叶斯定理。
##### 4.1 贝叶斯定理的作用
贝叶斯定理是概率和统计学中的基本定理,帮助我们计算概率。我们对某个情况了解得越多,计算出的概率就越准确。例如,要计算今天下雪的概率,如果不知道我们在哪里以及是一年中的什么时候,只能给出一个模糊的估计。但如果知道我们在加拿大,下雪的概率就会增加;如果在牙买加,概率就会大幅降低。
然而,当有很多信息时,计算会变得复杂。这时可以使用一个简单的技巧,即做出一个不一定正确但在实践中效果很好的假设,这就是朴素贝叶斯算法的核心。
#
0
0
复制全文
相关推荐




