可能有朋友不知道贪心科技是干什么的,我会从以下三个方面聊一聊我的学习体验。

l 贪心科技的介绍

l 针对ML(机器学习)中级课程的学习体验

l 自身的收获

1.贪心科技

贪心科技是一家成立于2018年,追求极致、有情怀的教育科技公司,目前专注在泛AI领域的在线教育。

核心团队由微软、谷歌、亚马逊、百度等企业的科学家、资深算法工程师组成,其中绝大部分毕业于海内外最顶尖学府如CMU、USC、哥大、耶鲁等等。

贪心科技的课程主要分为以下三类:初级课程、中级课程、高级课程。

每种课程的定位都不同,面向的人群不同,需要的基础也不同。



2.针对ML(机器学习)中级课程的学习体验

我现在正在学习的是机器学习的课程,需要 Python
代码基础,属于中级班,采用网课的形式,结合问答、代码编程、项目作业、专人助教答疑的授课形式让像我这样的在校学生或者希望从事AI岗位的职场人士入门机器学习。

有关的课程大纲在官网上就能看到,课程分为18章。

聊学习体验嘛,我想直接从算法教学和实操案例入手,毕竟学了知识的最终目的还是要自己能写出来代码,能跑项目。

体重预测案例

我现在一共学习了三章,第一章内容是人工智能基础,这章并没有牵扯到什么算法,概念性的基础知识偏多。

这章的案例是利用身高预测体重,其实说来算是给学员一个认识机器学习思想的小例子。

零基础入门的人如果能在一开始就对机器学习的过程有一个整体的认识,那么后续的学习其实就只是在此基础上去扩充自己对于不同类型数据的处理方式、不同算法的原理以及这些算法代码实现过程的知识库罢了,所以我觉得第一章去建立整体框架的教学思想这点很好。

这个案例告诉我一个完整的机器学习建模过程主要分为四个步骤:数据处理、特征工程、建模、验证。

的确如此,像后续章节的股价预测、银行客户是否开始账户等等,都只是改变了数据处理的规则和利用的算法,整体的思想过程依旧没有逃离这四层步骤的框架。

来看看第一章代码。

可以看到,已经书写好的代码会加上详细的注释,告诉我们这些是做什么的。

我们需要做的地方会用 TODO
标注出来,每一个案例需要完成的地方是不同的。

这个案例只需要我们实例化一个线性回归的模型,并利用划分的训练数据进行训练。

上面四个框便是一个完整的机器学习过程,但是相对来说比较简单。

线性回归+股价预测案例

第二章学到的主要是线性回归的知识,从一元的线性回归模型讲起,然后结合向量和矩阵的知识延伸到多元回归。

李文哲老师从目标函数的概念入手,一步一步手推目标函数。

并告诉我们关于如何使得目标函数最小的解法,然后再一步步手推目标函数求解参数的公式。


算法的东西并不是说简单的利用一行代码实现就好,必须要去明白其后面的数学知识,这可能也是为什么大家觉得机器学习的东西学起来会比较难的原因。

但是我想像李文哲老师这样一步步手推的教学方式,是能够让我们每个人都很清晰的认识到该算法的意义和背后逻辑的。

而在推导了一元以后,结合后续矩阵的知识,自然而然就上升到了多元。

李文哲老师同样从概念入手一步步将目标函数和求解的相关过程展现在教学ppt上。

然后后面紧跟的就是代码实现,这里的实现方式分为两种,包括利用
Sklearn 自带的库来解决,和利用 Numpy 的计算方法实现。

为了加深我们的印象我们要做的就是利用 Numpy
方法手动输入上一步推导的参数公式来实现求解。

然后就是关于股价预测的案例,在经过李文哲老师详细的介绍线性回归知识以后,算法的逻辑我们已经很清楚了,这个案例就是利用历史数据来预测未来五天的股价。

就像第一章介绍的机器学习整体思路一样,只是这里对数据有几个比较重要的处理:排序、去NAN值、归一化处理,来看一下代码。

这里关于建模的过程并没有使用 Numpy 的方法,而是直接利用了
Sklearn 库,但其实我们已经清楚了其内部的实现方式,就算不用 Sklearn的方法,也可以用 Numpy 实现,理解原理才是重点。

逻辑回归+梯度下降+银行案例

第三章的内容主要是涉及到逻辑回归的分类问题和梯度下降算法。

这样说起来内容好像很少,但是所涉及到的知识其实相对第二章来说是偏多的。

像条件概率、最大似然估计、逻辑函数的求导等等,但是李文哲老师本人是南加州大学的博士,这些概念的东西他结合自己的理解讲解的很细致,而且紧跟在每个知识点后面的问题也可以引发自己对该知识点的思考。


关于使用最大似然估计求解参数的方法,这里李文哲老师引入了一个简单的投掷硬币的问题,通过最大化概率,求导最大似然估计函数,进而实现对参数的估计。

然后从这个较为基础的问题引出了有关逻辑回归的最大似然估计,对于乘积形式的逻辑回归函数如何简化,李文哲老师详细的介绍了取对数转化成加法、在目标函数前加负号将最大值的求解转化为对最小值求解的思想。

我本人对这些是比较熟悉的,因为去年考研期间写了很多利用最大似然估计法求参数的题。

但是就算原来并没有接触过这个,也是能听明白的,因为取log我们中学也学过。

简化了目标函数,如何才能求解呢?

第一章线性回归中求导,将导数设置为零的思想还行嘛?

于是针对这两个问题,李文哲老师介绍了利用循环迭代思想的梯度下降方法。

同样是先介绍概念、然后以一个二元函数为例利用梯度下降法迭代,对比直接求导解得解析解的方式让我们了解算法的思想。

这其中涉及到一个学习率的概念,李文哲老师通过一张轮廓图清晰明了的说出了学习率在梯度下降算法中的重要性。

而后是逻辑回归采用梯度下降法求解参数
W,b的方法,李文哲老师同样是一步一步手推。


第三章算法的知识到这里基本就结束了,案例是预测银行客户是否开设账户。

整体的建模过程依旧是如第一章的四个步骤,但是数据处理的方式和采用的算法发生了变化。

这个案例会介绍一种处理类别变量的方法——独热编码。而关于模型构建后的评估方法也会有些介绍,比如针对标签数据不平衡采用的精确率、召回率、F1-SCORE等等。

编写代码时需要我们做的为以下内容:

l 利用pd.get_dummies将变量转化为类型型变量

l 构造训练数据、划分数据为训练和测试数据

l 初始化逻辑回归模型并利用训练数据训练

l 计算F1-SCORE,进行评估

3.体验和自身的收获

体验

我觉得看上面的案例大家就能看出来,只想说手推算法太酷了啊,我不仅听得懂我还能自己写一遍。

结合案例利用代码一遍遍巩固机器学习的建模思想,且在不同案例中针对不同的数据类型引入不同的数据处理方式,这种从问题出发学习解决办法的思想让我觉得接受度很高。

手推算法、从浅至深的知识体系、案例问题的逐层分析和逐层代码实现…我觉得这样的授课方式我很喜欢。

收获

到目前为止,用了不到一个月的时间听课,查资料,跟着老师的步骤敲代码,虽然只学习了三章,但是收获是很多的。

我觉得主要分为以下两点:知识方面、认知方面。

知识方面:

毋庸置疑,听完课,记笔记,交了作业代码以后我对于线性回归、逻辑回归的原理和应用有了更深层次的认识。

本科阶段毕业论文用了多元 logistic
回归的分析方法预测房地产市场的风险状态概率,那时候只是用 Spss
软件操作,并不太知道里面的原理是什么,听了李文哲老师手推的过程,我才明白为什么算出来的是一个概率值。

而像对于各种数据如何处理、对于模型的验证等这些也是我原来没有接触过的。

认知方面:

机器学习算是我上个月刚刚开始接触的一门新学科,在学习之前我的认知如普罗大众一样,觉得人工智能也好,机器学习也好,都是一门相对高深的学科。

但是通过这一个月的学习,我觉得并没有想象的那么难,是那种对未知的不熟悉放大了心底的恐惧。

李文哲老师第一章的课程便是关于人工智能基础概念的讲解,介绍了什么是人工智能、机器学习和深度学习的概念、给出了AI的学习路径。

他对人工智能现状、应用和发展前景的看法让我受益匪浅。

就像李文哲老师说的:“如何将人工智能的思想和应用融入自身所从事的职业是当代职场人士应该去深度思考的问题。”

我会带着这个问题把课程学完的。

在贪心学院学习,是一种怎样的体验?相关推荐

  1. ABC创客实验室-助力创新教育发展,让学习成为一种美好的体验.

    上海聪巢信息科技有限公司,简称聪巢科技,是围绕高科技教育产品的集设计研发.营销推广为一体的专业化创新公司.聪巢科技作为中国科大先研院旗下阿巴赛科技公司的全国总代理,负责"ABC创客教育整体解 ...

  2. 在霍格沃兹学习测试是种怎样的体验?

    霍格沃兹我怎么了解到的 我是河北某二本院校软工专业的学生,大三开始学校来了很多宣讲和实训的公司,都是为我们以后的职业发展做参考.学校有软件测试课程,有一次老师无意提到了霍格沃兹测试开发学社举办的高校& ...

  3. 尚学堂怎么样?在尚学堂学习java是一种怎样的体验?

    尚学堂怎么样?当你想让自己未来的努力更有价值的时候,一定要选择一个对的行业,现如今,互联网就是那个对的行业.当你要选择一个对的行业的时候,就要选择一个对的城市,因为只有在对的城市你才可以学到最高深的技 ...

  4. 线性Frequency Principle动力学:定量理解深度学习的一种有效模型

    关于作者:本文的作者是来自上海交通大学致远学院 08 级理科班的四位研究人员.本文由许志钦执笔,张耀宇修改,罗涛和马征审阅校正.这个小组的研究兴趣主要是深度学习理论. 深度学习的广泛成功吸引了大量的科 ...

  5. 尚硅谷谷粒学院学习笔记(防坑点的总结部分勘误)

    谷粒学院学习笔记 部分勘误 数据库设计规约 模块说明 环境搭建 创建一个Spring Boot 的父工程,版本使用:2.2.1.RELEASE 父工程pom.xml里面添加 在pom.xml中添加依赖 ...

  6. 【百度前端学院学习笔记】Day6 浮动/BFC

    [百度前端学院学习笔记]Day6 浮动/BFC 一.什么是浮动? 二.普通流 / 浮动 / 绝对定位 三.BFC/Flow Root 3.1 什么是BFC? 3.2 BFC 的特性 3.2.1 特性一 ...

  7. 【百度前端学院学习笔记】Day9 圣杯布局和双飞翼布局

    [百度前端学院学习笔记]Day9 圣杯布局和双飞翼布局 圣杯布局(古老而费解的方法) 双飞翼布局(圣杯的改进) 参考资料: In search of the Holy Grail - A list a ...

  8. 每个软件开发人员都应该学习的5种编程语言

    我读过某个地方,程序员应该每年学习一种新的编程语言(虽然我认为它是完整的代码 ,但不确定),但是如果您做不到,我建议至少学习以下五种编程语言,以便在您的语言中做得更好事业. 每个公司都喜欢一个会说多种 ...

  9. DAY1 贪心算法学习报告

    集训DAY1:贪心算法 学习报告 这天的题还有一道未解决,暂时不会代码实现,由于时间有限(精力是相对无限的),所以留待明天补档. /(课堂笔记) 贪心算法的核心:局部最优得整体最优 证明:数学归纳 微 ...

最新文章

  1. 赠书 | 手把手教你自己动手打造一个智能恒温器
  2. 远洋整站下载器不能用https_这可能是最全最好的爆破百度文库下载指南了!
  3. 使用LiveClick升级您的实时书签
  4. [react] React的isMounted有什么作用?
  5. Windows 创建符号链接
  6. nginx linux 长连接,Nginx实现长连接应用
  7. Oracle19c下载安装和配置教程
  8. 华为路由器OSPF基础配置命令
  9. WPS国际版添加中文包
  10. pc端软件怎么做性能测试,企点PC端性能测试——UI卡顿分析
  11. 计算机清理垃圾代码,你也可以写代码系列,一键清除系统垃圾文件的代码(超简单)-清除垃圾文件...
  12. POI解析docx与doc文档中的难点归纳
  13. 多线程- 让程序更高效的运行
  14. 面试经历(某大型机器人少儿编程培训机构)
  15. 计算机操作中常用的几种快捷方式,常用的30个电脑快捷操作技巧
  16. Redis基本应用及Java代码实现
  17. 人类简史 十一章 帝国的愿景
  18. 互联网思维——简约思维
  19. Omit和Exclude的区别
  20. 面向工业智能制造的组态系统设计思路与实现

热门文章

  1. python字典删除元素_Python简单遍历字典及删除元素的方法
  2. 在RHEL5.4上做YUM
  3. 【设计模式】Spring的核心IOC容器中用到的设计模式
  4. Flume的Channel
  5. [源码和文档分享]基于C++实现的运动会统分系统
  6. wmic windows
  7. CG笔记之一——透视投影
  8. 一套代码编译出ios和android,Hippy: Hippy 是一个新生的跨端开发框架,目标是使开发者可以只写一套代码就直接运行于三个平台(iOS、Android 和 Web)...
  9. nexus 7 arm linux,Nexus 7安装Ubuntu Touch
  10. bmp转换tiff c++代码_Creative Convert for Mac(文件格式转换工具)