Notes by Louisa
Notes by Louisa
Notes by Louisa
  • Introduction
  • Chapter1 Python Cheatsheet
    • Reference, Deep Copy and Shallow Copy
    • Iterators
    • List Comprehensions
    • Numpy
    • Pandas
    • Data Visualization
    • DateTime
    • Python Good to knows
  • Chapter2 Java Cheatsheet
    • Fundamentals to Java
    • Interface, Abstract Class, Access Modifier, Exceptions
    • Linked List and Java List
    • Java Queue, Stack and Deque
    • Binary Tree
    • Heap in Java
    • Map/Set/Hash
    • OOD
  • Chapter3 Algorithm
    • Fundamental Knowledge
    • Binary Search
    • Basic Sorting
    • Advanced Sorting
    • Linked List
    • Recursion 1
    • HashTable
    • Queue
    • Sliding Window
    • Stack
    • Binary Tree
    • Binary Search Tree
    • Heap
    • String
    • Graph Search DFS1 (Back Tracking)
    • Recursion II and Memoization
    • Dynamic Programming
    • Complete Binary Tree, Segment Tree, Trie Tree
    • Graph Search BFS
    • Graph Search BFS 2
    • Graph Search DFS2
    • Problems from 'JianZhi Offer'
    • Problems Categorized
    • Bit Operations
  • Chapter4 Model
    • Linear Regression
    • Logistic Regression
    • Regularization and Feature Selection
    • Model Evaluation
    • Nonlinear Models
    • PCA
    • Unsupervised Learning
    • Gradient Descent and Gradient Boosting
    • XG Boost and Light GBD
    • Deep Learning
    • Tensorflow/Keras
    • RNN
  • Chapter5 Statistics and A/B Testing
    • Inference about independence
    • Probability, Sampling and Randomization with Python
    • A/B Testing
    • Stats Interview Review
    • Statistics Glossary
  • Chapter6 SQL
    • Student Scores Query
    • Order Query
    • Movie Rating Query
    • Social-Network Query
    • LeetCode SQL题目总结
    • Spark SQL
  • Chapter7 Big Data and Spark
    • Introduction to Pyspark
    • Data Cleaning with Apache Spark
    • Feature Engineering with Pyspark
    • Building Recommendation Engines with Pyspark
    • Building Data Engineering Pipelines in Python
    • Hadoop MapReduce
    • Big Data Related Paper
  • Chapter8 Code Walk-Throughs
    • Python
    • R
    • Shell
  • Chapter9 Special Topics
    • Anomaly Detection
    • E Commerce
    • Supply Chain
    • Social Network Analysis
    • NLP intro
    • Time Series
    • Challenge Prophet with LSTM models
  • Project: The Winning Recipes to an Oscar Award
  • Project: A Crime Analysis of the Last Decade NYC
  • Project: Predict User Type Based on Citibike Data
  • GeoSpark/GeoSparkVis for Geospatial Big Data
  • Single Scattering Albedo
  • Sea Ice Albedo Retrievals
  • Lidar Project
Powered by GitBook
On this page
  • Central Limit Theorem
  • Linear Regression
  • 最大似然估计(maximum likelihood estimation)
  • Loss Function的推导过程
  • 那么,Logistic Regression呢?
  1. Chapter4 Model

Linear Regression

中心极限定理,最大似然估计,loss function的推导过程

Central Limit Theorem

如何用Random(5)生成Random(25)? 1. 如果是6个相加,出现0的概率极小,是6个1/5相加,而1的概率却要比0的概率大,因此概率不均等 2. 正确解法:5*random(5)+random(5)

思路(1) 认为这是一维空间到二维空间的转变

index

0

1

2

3

4

0

0

1

2

3

4

1

0

1

2

3

4

2

0

1

2

3

4

3

0

1

2

3

4

4

0

1

2

3

4

思路(2) 五进制

其实使用这样的思想,也可以生成5的任意次方;或者任意一个小于25的数,比如Random(21)依然可以用Random(25),只是只要大于21就扔了,再random一次;相似的,如果需要Random(7)也是Random(21)再对3求余就行。

上面的1.其实结果是一个中间概率大,两边概率小的分布,此时引出“中心极限定理”

如果一个随机变量由大量相同分布且独立(i.i.d.)的随机因素综合影响所造成,则这种随机变量一般近似服从正态分布。(这其实解释了Linear Regressio的公式里的 ϵ\epsilonϵ 为什么是高斯分布 也就是正态分布。此外,这也就意味着given X,Y服从高斯分布,因为函数右边的前两项都是固定值。)

如果变量趋于无穷多个,研究其标准化的随机变量,服从标准正态分布。

Linear Regression

y=β0+β1X+ϵy=\beta_{0}+\beta_{1}X+\epsilony=β0​+β1​X+ϵ

这是一个超定系统(overdetermined system),所以我们只能求得近似解。

因为我们想要拟合的y要尽可能接近 Y^\hat{Y}Y^ ,所以可以定义一个loss function来判断拟合的好坏。

如果真实值是 YYY 我们的估计值是 Y^\hat{Y}Y^ ,直观理解,我们的误差(error)就是 Y−Y^Y-\hat{Y}Y−Y^

Linear Regression中,使用 Loss=error2Loss=error^{2}Loss=error2

对于单元:

∑i=1nεi2=∑i=1n(yi−β0−β1xj)2argmin⁡β∑i=1n(yi−β0−β1xi)2\begin{array}{l}{\sum_{i=1}^{n} \varepsilon_{i}^{2}=\sum_{i=1}^{n}\left(y_{i}-\beta_{0}-\beta_{1} x_{j}\right)^{2}} \\ {\operatorname{argmin}_{\beta} \sum_{i=1}^{n}\left(y_{i}-\beta_{0}-\beta_{1} x_{i}\right)^{2}}\end{array}∑i=1n​εi2​=∑i=1n​(yi​−β0​−β1​xj​)2argminβ​∑i=1n​(yi​−β0​−β1​xi​)2​

多元

∑i=1nεi2=∑i=1n(yi−β0−β1x1i−β2x2i−…−βmxmi)2∑i=1nεi2=∑i=1n(yi−β0−∑j=1mβjxji)2\begin{array}{c}{\sum_{i=1}^{n} \varepsilon_{i}^{2}=\sum_{i=1}^{n}\left(y_{i}-\beta_{0}-\beta_{1} x_{1 i}-\beta_{2} x_{2 i}-\ldots-\beta_{m} x_{m i}\right)^{2}} \\ {\sum_{i=1}^{n} \varepsilon_{i}^{2}=\sum_{i=1}^{n}\left(y_{i}-\beta_{0}-\sum_{j=1}^{m} \beta_{j} x_{j i}\right)^{2}}\end{array}∑i=1n​εi2​=∑i=1n​(yi​−β0​−β1​x1i​−β2​x2i​−…−βm​xmi​)2∑i=1n​εi2​=∑i=1n​(yi​−β0​−∑j=1m​βj​xji​)2​

注意

(1) 这个loss不一定是平方项(least square),也可以是绝对值(此时它叫least absolute deviation)甚至三次方。之所以我们使用平方,是因为我们对噪声又一个假设:它服从高斯分布。如果我们的噪声服从其它分布,自然也可以使用其它的loss function。

(2) error的定义也不一定是直接做减法(a line vertically done), 也可以是点线的距离(垂线)的形式。

为什么平方?

背后的原理是最大似然估计(maximum likelihood estimation)

最大似然估计(maximum likelihood estimation)

Maximum Likelihood Estimation is a method of estimating the parameter of a statistical model given observation, by finding the parameter values that maximize the likelihood of making the observations given the parameters. 最合理的参数估计量应该使得 (猜一个参数)我们猜测的分布和实际的分布尽可能一样)

这是一种概率角度的参数估计,就意味着需要对整体的分布有一个假设。在Linear Regression中,给的assumption是

即, p(y∣x)p(y | x)p(y∣x) 是  mean =μ=β0+β1x\text { mean }=\mu=\beta_{0}+\beta_{1}x mean =μ=β0​+β1​x ,  variance =σ\text { variance }=\sigma variance =σ (与x无关的值)的高斯分布,数学表达式:

p(y)=1σ2πe−12σ2(y−μ)2,−∞<y<∞p(y)=\frac{1}{\sigma \sqrt{2 \pi}} e^{-\frac{1}{2 \sigma^{2}}(y-\mu)^{2}}, \quad-\infty<y<\inftyp(y)=σ2π​1​e−2σ21​(y−μ)2,−∞<y<∞

其中 p(y∣x)p(y|x)p(y∣x) 是概率密度。

那么什么样的分布是最好的分布?我们需要让概率密度最大。因为有某个observation是既定事实了,所以我们需要找到一个parameter让我们猜出的估计和observation的分布相同,这就需要让我们估计出的最大可能就是observation,即概率密度那项最大,最后对应的就是指数部分不要负号的项最小值。

Loss Function的推导过程

P. S. 一般不会让推导LR的loss function,因为太简单,但是Logistic Regression的会在面试问。

首先,Given x, Y服从高斯分布 (mean和x有关,std和x无关)

Yi∼N(β^0+β^1Xi,σ2)Y_{i} \sim N\left(\hat{\beta}_{0}+\hat{\beta}_{1} X_{i}, \sigma^{2}\right)Yi​∼N(β^​0​+β^​1​Xi​,σ2)

P(Yi∣X)(Yi的概率密度)P(Y_{i}|X) (Y_{i}的概率密度)P(Yi​∣X)(Yi​的概率密度)

P(Yi)=1σ2πe−12σ2(Yi−β^0−β1^Xi)2P\left(Y_{i}\right)=\frac{1}{\sigma \sqrt{2 \pi}} e^{-\frac{1}{2 \sigma^{2}}\left(Y_{i}-\hat{\beta}_{0}-\hat{\beta_{1}} X_{i}\right)^{2}}P(Yi​)=σ2π​1​e−2σ21​(Yi​−β^​0​−β1​^​Xi​)2

因为 YiY_{i}Yi​ 是i.i.d.的,所以Y的所有样本的似然函数是

Likelihood =L(β^0,β^1,σ2)=P(Y∣X)=P(Y1∣X1)∗P(Y2∣X2)∗…∗P(Yn∣Xn)\text {Likelihood }=L\left(\hat{\beta}_{0}, \hat{\beta}_{1}, \sigma^{2}\right)=P(Y | X)=P\left(Y_{1} | X_{1}\right) * P\left(Y_{2} | X_{2}\right) * \ldots * P\left(Y_{n} | X_{n}\right)Likelihood =L(β^​0​,β^​1​,σ2)=P(Y∣X)=P(Y1​∣X1​)∗P(Y2​∣X2​)∗…∗P(Yn​∣Xn​)
Likelihood =L(β^0,β^1,σ2)=1σn(2π)n/2e−12σ2∑(Yi−β^0−β^1Xi)2\text {Likelihood }=L\left(\hat{\beta}_{0}, \hat{\beta}_{1}, \sigma^{2}\right)=\frac{1}{\sigma^{n}(2 \pi)^{n / 2}} e^{-\frac{1}{2 \sigma^{2}} \sum\left(Y_{i}-\hat{\beta}_{0}-\hat{\beta}_{1} X_{i}\right)^{2}}Likelihood =L(β^​0​,β^​1​,σ2)=σn(2π)n/21​e−2σ21​∑(Yi​−β^​0​−β^​1​Xi​)2

对数似然函数

ln⁡L=−nln⁡(2πσ)−12σ2∑i=1n(Yi−β^0−β1^Xi)2\ln L=-n \ln (\sqrt{2 \pi} \sigma)-\frac{1}{2 \sigma^{2}} \sum_{i=1}^{n}\left(Y_{i}-\hat{\beta}_{0}-\hat{\beta_{1}} X_{i}\right)^{2}lnL=−nln(2π​σ)−2σ21​i=1∑n​(Yi​−β^​0​−β1​^​Xi​)2

为了让它最大,等价于

argmax⁡β[−∑i=1n(Yi−β^0−β^1Xi)2]argmin⁡β∑i=1n(Yi−β^0−β^1Xi)2\begin{array}{c}{\operatorname{argmax}_{\beta}\left[-\sum_{i=1}^{n}\left(Y_{i}-\hat{\beta}_{0}-\hat{\beta}_{1} X_{i}\right)^{2}\right]} \\ {\quad \operatorname{argmin}_{\beta} \sum_{i=1}^{n}\left(Y_{i}-\hat{\beta}_{0}-\hat{\beta}_{1} X_{i}\right)^{2}}\end{array}argmaxβ​[−∑i=1n​(Yi​−β^​0​−β^​1​Xi​)2]argminβ​∑i=1n​(Yi​−β^​0​−β^​1​Xi​)2​

那么,Logistic Regression呢?

如果y是离散值,categorical labels,该怎么做?

分三步去想新模型 1. 能不能用现有模型(linear regression)解决这个问题 2. 如果不行,哪里不行,能否基于LR做一些修改 3. 如果此时可以了,那么未来有什么潜在问题让它不再使用.

PreviousChapter4 ModelNextLogistic Regression

Last updated 5 years ago