1. Logistic Regression
2. 朴素贝叶斯(Naive Bayes)
3. 利用sklearn解决Iris数据集多分类问题
-
Logistic Regression
定义(Definition):
逻辑回归是一种用于解决二分类问题的机器学习算法,用于估计某种事物的可能性。
假设函数(Hypothesis function):
首先介绍一下Sigmoid函数,也称为逻辑函数(Logistic function):
其函数曲线如下图所示:
逻辑函数具有以下特性:
(1)逻辑函数单调递增;
(2)其反函数单调递增;
(3)逻辑函数平滑易于求导。
逻辑函数的良好特性对于解决二分类问题十分重要。
逻辑回归的假设函数形式:
上式中,x是我们输入的特征向量,θ是我们所求的参数向量。
逻辑函数(Logistic function)所做的假设是:
上式的意思是给定x和θ的条件下y = 1和y = 0的概率。
代价函数(Cost function):
根据吴恩达教授在斯坦福大学CS229课程中的讲解,逻辑回归算法采用的代价函数为:
基于上述代价函数对参数向量θ进行更新,更新公式如下:
-
朴素贝叶斯(Naive Bayes)
定义(Definition):
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯算法是一种生成学习算法(generative learning algorithms),所谓生成学习算法是指对p(x|y)与p(y)同时建模,对不同类别的数据集分别建模,看新输入的数据更符合哪类模型,该数据便属于哪一类。
多元伯努利事件模型(multi-variate Bernoulli event model):
根据吴恩达教授在斯坦福大学CS229课程中的讲解,采用垃圾邮件分类的样例对朴素贝叶斯分类进行讲解:
假设有一特征向量x,当邮件中含有词典(dictionary)中的第i个词时,令xi=1,否则令xi=0。例如,若邮件中仅含有“buy”和“a”两个单词,则特征向量如下图所示:
根据朴素贝叶斯假设,xi之间是条件独立的。假设现在字典中共存有50000个单词,现在要建立一个生成学习算法,就要计算p(x|y),因而有如下图所示的推导:
假设模型参数如下图所示:
通过极大似然估计,最后的参数估计为:
当我们需要进行一个新的预测时,我们可以采用下图所示的公式进行计算:
-
利用sklearn解决Iris数据集多分类问题
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score iris_data = pd.read_csv("iris.csv") # 读取数据 data = iris_data[['Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width']].values label = iris_data['Species'].values x_train, x_test, y_train, y_test = train_test_split(data, label, test_size=0.2) # 通过函数划分获取训练集与测试集 # 鸢尾花数据集分类--LogisticRegression model = LogisticRegression(penalty='l2', multi_class='multinomial', max_iter=250) # 多分类问题,multi_class选择multinomial model.fit(x_train, y_train) # 通过训练集拟合相关参数,训练模型 y_pred = model.predict(x_test) print(accuracy_score(y_pred, y_test)) # 计算模型准确性 # 鸢尾花数据集分类--GaussianNaiveBayes model = GaussianNB() model.fit(x_train, y_train) # 通过训练集拟合相关参数,训练模型 y_pred = model.predict(x_test) print(accuracy_score(y_pred, y_test)) # 计算模型准确性
通过实验可以发现,在Iris数据集实例中,逻辑回归算法训练的模型与朴素贝叶斯算法训练的模型相比,前者准确率更高。由于该数据集本身较为简单,因此,两个模型训练出来的准确率均较好。