GithubHelp home page GithubHelp logo

cs229-1's Introduction

cs229

记录cs229学习笔记并用python实现相应算法(pure numpy)

学习笔记(更新中)

1. linearRegression

推导并实现了局部加权线性回归,并选取不同的bandwidth进行拟合,可视化了不同bandwidth对局部加权线性回归的影响。

2. logisticRegression

主要总结了逻辑回归的常用公式。推导了逻辑回归cost function的Hessian矩阵。介绍了牛顿法的原理,并且采用牛顿法求解逻辑回归的参数。

3. generalizedLinearModels

  • generalizedLinearModels
    介绍了指数分布族,并推导正态分布和伯努利分布都属于指数分布族。介绍了广义线性模型的三个假设,并推导了普通最小二乘法以及逻辑回归都是广义线性模型的特例。
  • softmaxRegression
    推导多项分布属于指数分布族以及softmax是广义线性模型的特例,推导并实现了softmax regression,采用批量梯度下降求解softmax regression的参数。

4. generativeLearningAlgorithms

  • generativeLearningAlgorithms
    介绍了生成学习算法 。
  • gaussianDiscriminantAnalysis
    介绍了多元正态分布,推导了如何通过最大似然估计求解高斯判别分析的参数,讨论并推导了高斯判别分析和逻辑回归的关系。
  • naiveBayes
    推导并实现了朴素贝叶斯算法(基于伯努利模型)。

5. supportVectorMachine  

  • svm_1

    介绍了函数间隔和几何间隔,推出 svm 的原问题。

    介绍了对偶问题、强对偶和KKT条件,以及强对偶和KKT条件的关系和成立条件。

    推出了 svm 的对偶问题。

  • svm_2

    说明了核函数以及作用,介绍了多项式核和高斯核,推导了高斯核对应一个无穷维映射,介绍了 Mercer 定理。(这部分主要来自林田轩老师的《机器学习技法》)

    推导了 Soft Margin SVM。

  • svm_3:推导 SMO 算法。(这部分主要来自李航老师的《统计学习方法》)

Other Materials

  • 信息论基础:整理了信息论的基础知识,包括:熵、条件熵、互信息、交叉熵和KL散度。

课后作业(停止更新)

1. ex1-linearRegression

分别通过批量梯度下降法和求解正规方程组来求解线性回归的参数。并绘制了在不同学习速率下,cost function的下降情况。

2. ex2-logisticRegression

主要实现了带正则化项的逻辑回归,通过批量梯度下降法求解其参数。同时进行Feature mapping,使得逻辑回归能够更好地处理线性不可分的情况。并绘制了在正则化参数lambda不同取值下,决策边界的变化情况(即过拟合与欠拟合)。

3. ex3-neuralNetwork

整理了ex2实现的逻辑回归函数,采用one-vs-all的方法,使用逻辑回归对手写数字进行识别。并采用已经训练好的神经网络权重,实现了神经网络的前向传播,对手写数字进行识别。

cs229-1's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.