<commit_before>---
layout: post
title: "逻辑斯特回归"
author: "<NAME>"
tags: Machine Learning
comments: true
---

逻辑斯特回归 (Logistic Regression) 是机器学习中的一种分类模型，由于算法的简单高效，在实际运用中非常的广泛。

## 实际运用场景
实际工作中，我们可能会遇到如下问题：
1. 预测用户是否会点击特定的商品
2. 判断用户的性别
3. 预测用户是否会购买给定的品类
4. 判断一条评论是正面的还是负面的

这些问题都可以看成分类问题，准确地说是二分类问题。我们可以拿到数据集的特征和标签，就得到一组训练数据：

$$D = (x^1, y^1),~(x^2, y^2),~...,~(x^N, y^N)$$

其中 $x^i$ 是一个 m 维的向量，$x^i = [x_1^i, x_2^i, ..., x_m^i]$，$y$ 在 $\{0，1\}$ 中取值。至于如何去衡量一个分类器的好坏，我们可以用分类率这样的指标：${Err }= {1\over{N}}1[y^*]=y$。也可以通过准确率，召回率，AUC 等指标来衡量。

## 引入 Logistic Regression
### Sigmoid Function
在此之前我们有线性回归这样的模型来做回归，但是在前面的那些实际场合下，我们需要分类。考虑到线性回归模型的简单高效，在处理大数据量问题上有其好处。我们看是否有可能在其基础上做一个拓展使之能够做分类问题，从简单的二分类开始。于是想到在线性回归的基础上我们再套上一个可以将实数映射到 $\{0，1\}$ 两种结果上，于是我们就想到了 Sigmoid 函数，形式如下：<commit_msg>commit<commit_after>---
layout: post
title: "逻辑斯特回归"
author: "<NAME>"
categories: "Machine Learning"
meta: "Springfield"
comments: true
---

逻辑斯特回归 (Logistic Regression) 是机器学习中的一种分类模型，由于算法的简单高效，在实际运用中非常的广泛。

## 实际运用场景
实际工作中，我们可能会遇到如下问题：
1. 预测用户是否会点击特定的商品
2. 判断用户的性别
3. 预测用户是否会购买给定的品类
4. 判断一条评论是正面的还是负面的

这些问题都可以看成分类问题，准确地说是二分类问题。我们可以拿到数据集的特征和标签，就得到一组训练数据：

$$D = (x^1, y^1),~(x^2, y^2),~...,~(x^N, y^N)$$

其中 $x^i$ 是一个 m 维的向量，$x^i = [x_1^i, x_2^i, ..., x_m^i]$，$y$ 在 $\{0，1\}$ 中取值。至于如何去衡量一个分类器的好坏，我们可以用分类率这样的指标：${Err }= {1\over{N}}1[y^*]=y$。也可以通过准确率，召回率，AUC 等指标来衡量。

## 引入 Logistic Regression
### Sigmoid Function
在此之前我们有线性回归这样的模型来做回归，但是在前面的那些实际场合下，我们需要分类。考虑到线性回归模型的简单高效，在处理大数据量问题上有其好处。我们看是否有可能在其基础上做一个拓展使之能够做分类问题，从简单的二分类开始。于是想到在线性回归的基础上我们再套上一个可以将实数映射到 $\{0，1\}$ 两种结果上，于是我们就想到了 Sigmoid 函数，形式如下：
{'fraction_non_alphanumeric': 0.18059987236758138, 'fraction_numerical': 0.0204211869814933, 'mean_word_length': 7.662983425414365, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1789062', 'n_tokens_mistral': 1208, 'n_tokens_neox': 1343, 'n_words': 111}