机器学习-梯度下降的优化
在回归中,我们需要解决下面的优化问题,即使得Loss函数尽可能的小 \[ \theta^*=arg\min L(\theta),L:loss function,\theta:parameters \] 假设一共有两个参数\(\theta_1,\theta_2\),使得\(\theta^0= \begin{bmatrix}\theta^0\\\theta^1\end{bmatrix}\),便有梯度如下 \[\nabla L(\theta)=\begin{bmatrix} \partial L(\theta_1)/ \partial \theta_1\\\ \partial L(\theta_2)/ \partial \theta_2\end{bmatrix}\] 那么参数的更新便可通过向量的形式进行 \[ \begin{bmatrix}\theta^1_1\\\theta^1_2\end{bmatrix}=\begin{bmatrix}\theta^0_1\\\theta^0_2\end{bmatrix}-\eta\begin{bmatrix} \partial...
机器学习-回归
前言 此次学习的课程为李宏毅机器学习,之前学过一遍吴恩达的课程,只可惜当时没记笔记,且近些时候没有写代码,逐渐疏忽了,故选择李宏毅再进行新一遍的学习,所谓温故而知新。 回归是我们通常会使用的机器学习中的一类,比如日常中的我们的身高预测,股票预测等等,这些都可以看作为粗略的回归。 举一个例子 小时候我们会玩一个叫赛尔号的游戏,游戏里有各种各样的精力,就好比我们捕捉到了一只雷伊,然后我们可以向雷伊投经验值,让他升级,这只雷伊会有一个攻击力,我们想要预测雷伊的各种各样的属性与其攻击力之间的关系。 于是我们设其血量为\(X_{hp}\),其体重为\(x_{w}\),其身高为\(x_{h}\),其物种为\(x_s\),其战斗力为\(x_{cp}\),然后预测他进化之后的战斗力值。那么便有\(y=b+\sum w_ix_i\),其中\(w_i:weight,b:bias\)。如果单一个\(x_{cp}\)作预测的话便是\(y=b+w\cdot x_{cp}\)。 收集到了数据之后,便是可以进行预测,在此我们使用一个名为Loss函数进行Loss计算 \[ L(f) =...
身体是革命的本钱
...
再见小破电
...
讲讲各个编程语言的特点
目前呢,市面上主流的编程语言有 PHP、Java、Python、C、C++、JavaScript等,这些语言呢也是各有千秋,今天呢,就用简短的话语细数一下他们的特点。 PHP:没有优点 Java:库多,库多,库多 Python:语法清楚,语法清楚,语法清楚 C:能操纵底层,能细粒度优化性能 C++:啥都有,啥都有,啥都有 汇编: C语言: Java: C#: PHP: Python: Go: Haskell: Lisp: 最后是 C++:
关于 pandoc exited with code null 的解决方案
今天在写博客的时候,渲染的时候发生了一些问题,主要报错如下 1[ERROR][hexo-renderer-pandoc] pandoc exited with code null. 看了一些博主的方案,也进行了尝试,但是结果并不是很好,但是自己经过摸索还是解决了,便是来写一下相关的解决方案。 第一种是将 hexo-renderer-pandoc 卸载 1npm remove --save hexo-renderer-pandoc 但是呢,卸载之后,hexo 的渲染器就需要重新装配,不符合我的需求。 第二种则是在 Linux 之下的的一个官方的解决方法: 1234567891011name: Simple Usageon: pushjobs: convert_via_pandoc: runs-on: ubuntu-18.04 steps: - uses: docker://pandoc/core:2.9 with: args: "--help" # gets appended to pandoc...
tensorflow入门
首先是 tensorflow 及其相关包的安装,作者本人使用的是 miniconda,安装命令如下 1234567conda create -n 'tensorflow'activate tensorflowconda install -c conda-forge tensorflowconda install scikit-learnconda install -c conda-forge pandasconda install -c conda-forge matplotlibconda install -c conda-forge seaborn 代码仓库为 deeplearning-ai 的 1git clone https://github.com/https-deeplearning-ai/tensorflow-1-public 首先要讲一下机器学习和传统编程的区别,传统编程在于通过输入规则和数据,得到结果;机器学习则是通过输入结果和数据,得到规则,即如下图所示 首先可以做一个例子 x = -1, 0, 1, 2, 3, 4 y = -3,...
关于 torch.nn.CrossEntropyLoss 的计算
torch中计算损失函数时,会使用到名为 CrossEntropyLoss 的交叉熵损失函数,这个函数的公式为: \[ \begin{aligned} loss(x,class)&=−log\frac{∑_jexp(x[j])}{exp(x[class])}\\ &= −x[class] + log(∑_jexp(x[j])) \end{aligned} \] class 表示该样本的分类,x[j] 表示预测函数的第 j 个输出,关于此公式的解释如下: 假设我们的预测函数的输出如下 \[ [[0.0541, 0.1762, 0.9489 ], [−0.0288, −0.8072, 0.4909]] \] 假设我们的应该的分类如下 \[ [0,2] \] 即第一个样本为类别class=0,第二个样本为类别class=2 那么 loss 函数则为:...
关于 Couesrea 奖学金的申请
Coursera是免费大型公开在线课程项目,由美国斯坦福大学两名计算机科学教授创办。旨在同世界顶尖大学合作,在线提供免费的网络公开课程。Coursera的首批合作院校包括斯坦福大学、密歇根大学、普林斯顿大学、宾夕法尼亚大学等美国名校。 Coursera与另外1达成合作协议。其课程报名学生突破了150万,来自全球190多个国家和地区,而网站注册学生为68万。注册124门课程。目前新增的大学包括了佐治亚理工学院、杜克大学、华盛顿大学、加州理工学院、莱斯大学、爱丁堡大学、多伦多大学、洛桑联邦理工学院 - 洛桑(瑞士)、约翰·霍普金斯大学公共卫生学院、加州大学旧金山分校、伊利诺伊大学厄巴纳 - 香槟分校以及弗吉尼亚大学。 除了免费课程之外还有一些付费性质的课程,但是也会有相应的课程福利,比如提供运算的服务器之类的。但是费用可能较为高。毕竟是学生嘛,Coursera也是提供了一套完整的助学金申请方案,可以用于助学金申请。 于是乎,就做了一个助学金申请模版 I am very interested in this course. I believe that this course...
手写Promise
初始结构 我们在 New 一个 Promise 里的时候肯定是需要传入参数的,不然这个实例用处不大,而这个参数我们知道是一个函数,而且当我们传入这个函数参数的时候,这个函数参数会被自动执行。 因此我们需要在类的 constructor 里面添加一个参数,这里就用 func 来作为形参,并且执行一下这个参数,接下来需要为这个函数参数传入他自己的参数,也就是 resolve 和 reject,原生的 Promise 里面可以传入 resolve,reject 两个参数,那么我们也得允许手写这边可以传入这两个参数。 12345class Promise { constructor(func) { func(resolve,reject); }} 但是这样写明显有问题,因为手写这边不知道在哪里调用 resolve 和 reject 这两个参数,毕竟 resolve 和 reject 还没有定义。因此,就需要创造出这两个对象,有一点我们要知道的是,resolve、reject 也是以函数的形式来执行的,我们在原生...