_原题为:有这关键两点 , 小白也能轻松入门机器学习!
个人基本情况
先说一下个人的基本情况吧 。
我是自学机器学习的 。最开始在知乎上搜到了很多的学习方法 , 也去听了吴恩达、李宏毅的机器学习课程 。
但是学了一段时间后发现如果按照知乎上的学习方法 , 从Python数据分析学起 , 然后去看统计学知识 , 一边刷着机器学习的课程 , 配合去Kaggle刷比赛 , 这一路走下来先不说要花费多少时间 , 会不会半途而废我自己也不清楚 , 更关键的是我可能找不到适合每个阶段的案例实战项目 , 难以把理论知识付诸实践中 。
到这里 , 也就产生了一个想法 , 也许吴恩达的课程不适合我吧 。它能让我入门是没错 , 但是我需要多做点项目案例好让自己对机器学习的各种算法有一个更清晰的认识 。
贪心科技的课程是我无意间在Youtube上搜到的 , 听了几节免费的课程觉得诶貌似还不错 , 就去看了看 , 它最吸引我的就是Project-learning的教学理念 , 课程中会涉及很多的实战项目 , 挺符合我的需求 。
然后就入坑到现在了 , 最开始是去买了机器学习的课程 , 机器学习的课程听了一半发现自己做项目案例的时候处理特征工程的能力有点差 , 我太高估自己的对 Panads、Numpy 的掌握程度了 。
然后因为机器学习课程听课的效果还好 , 看到他们也有数据分析的课程就也入手了 。
机器学习中级课课程内容概述
机器学习的课程我听的比较多 , 就聊一聊这个课程的体验好了 。对比于吴恩达和李宏毅的课程来说 , 我觉得贪心科技的是比较适合我的 。在课程定位上 , 机器学习的课程面向的是有一些编程基础 , 或者有相关理工科背景 , 但是对于机器学习比较小白的人群 , 也就是我这样的 。
在课程内容上面 , 机器学习中级班的课程一共是十八章 , 除去第一章基础概念、第十六章 Pytorch 的使用教学和五个项目作业章节 , 涉及到知识的内容一共是十二章 。
这些知识由浅至深 , 涉及的内容包括:线性回归、逻辑回归、模型泛化、朴素贝叶斯、决策树、随机森林、提升数、K-Means、PCA、神经网络、支持向量机 。
五个项目涉及到不同的应用领域 , 针对不同的知识进行复习和实战 , 这也是我最看重的一点 。
像广告预测率那个项目的主要模型是逻辑回归+L2 正则 , 结合交叉验证 。
情感分析项目中利用了逻辑回归、朴素贝叶斯、SVM 三种方法分别训练 , 并且针对每一个方法都使用了交叉验证 , 以此来选出最好的组合 。
我觉得贪心科技的课程区别于其他课程的另一个重要点就是知识的教授形式:以应用问题为知识出发点、以项目案例为知识的落脚点 。结合简单案例讲解模型的原理 , 一步一步的手推目标函数和求解参数的过程 。这也是让我觉得很舒服的点 , 授课过程有一个清洗的脉络在 。
为什么这样说呢?我们来看一看第三章和第四章关于逻辑回归和L1/L2正则的讲解过程 。
以应用问题为知识的出发点
逻辑回归是第三章的内容 , 看一下第三章的知识框架图 。
从上面的图中可以看到从逻辑回归的应用场景经典的二分类问题引出该章的内容 , 而后讲解了逻辑函数的概念 , 进一步构造了引入逻辑函数的条件概率的表达形式 。
而后通过一个抛硬币的例子引入最大似然估计法 , 利用最大似然估计来构造出逻辑回归的似然函数 , 在从每一个样本延伸到所有样本的似然函数 。
有了所有样本的似然概率之后 , 接下来的目标就是要求出让这个似然概率最大化的模型的参数 , 对于逻辑回归模型就是 w , b , 在求解之前先对该函数进行了简化 。
最开始是试图采用我们熟知的求导的方式去求解的 , 但是这个函数通过求导解不出来参数值 , 于是又引入了另一种求解参数的方法——梯度下降法 。
进而去讲解了梯度下降法的概念 , 又举了一个采用梯度下降法进行求解的简单案例 , 以方便我们理解 。
用简单的例子让我们看明白以后 , 后面就是对建立的逻辑回归函数利用梯度下降法进行求解了 , 纯手推的求解参数 w 和 b 的更新公式 。
再然后就是对比了不同随机梯度算法的使用场景和优缺点 。
L1 和 L2 正则是第四章的东西 , 同样看一下第四章的知识结构图 。
L1 和 L2 正则的引入同样是从一个问题入手 , 然后自然的引发思考如何去解决这样的问题?解决问题的方法有哪些?这些方法之间有什么区别和联系?这些方法背后的原理是什么样的?
其实这样的教学思路在课程中随处可见 , 例如交叉验证的知识讲解过程 。我们引入的 L2 正则 , 是有一个参数λ的 , 这个参数如何设置呢?什么样的参数对模型的训练是最有利的呢?
【有这关键两点,小白也能轻松入门机器学习!】结合这个问题我们才去学习了 K 折交叉验证、留一法交叉验证 , 并且了解到了做交叉验证时候的注意事项 。
再然后 , 学习了相关的知识和原理 , 就会紧跟着一个案例:LR 中的调参 。
以项目案例为知识的落脚点
这里我简单的聊一个广告点击率预测的项目 , 这个项目作业的描述如下图 。
其实在项目中抛开采用何种算法建立模型 , 最重要的便是对特征工程的处理工作 , 我们不可能直接拿着原始数据操作 , 必须要对数据进行适当的分析、可视化、筛选出相关的特征等等 。
这里以项目案例为知识的落脚点 , 我主要想说的便是特征工程处理的知识在案例中的应用 , 这种紧跟教学的应用会增加我们在空洞的原理之上对知识本身的理解 。
那就广告预测项目而言包含了哪些特征工程的处理任务呢?
就是下面这些:
1 。导入数据后修改 Hour 数据的格式 , 时间戳类型转换为 date64 格式 。
2 。输出正负样本各自的比例 。
3 。可视化每一个位置上样本总数以及其中被点击和没有被点击的样本个数 , 得出如下的可视化图 。
4 。重点研究一下 app_category 特征 , 看是否跟标签有比较强的关系 , 对于每一种类型的 app_category 值 , 画出如下的 Histogram , 展示每一种取值条件下样本被点击和不被点击的概率 。
我们可以看到 , 在这个项目之中 , 我们把前面学习到的特征工程的处理方法又巩固了一遍 。
但是这个巩固不单单在项目作业中 , 像可视化某特征和预测值的关系 , 转换独热编码等等 , 其实我们在前面的案例中就利用代码实现过 。
授课思路总结
所以稍微总结一下 , 就课程内容的讲授形式来说 , 我个人觉得是有一个清晰的思路在的 。
1 。抛出一个问题 。
2 。寻求解决方法 , 还有没有其他解决方法?
3 。这几种解决方法的区别和联系是什么 , 什么时候使用相应的方法 。
4 。对解决方法背后的数学原理进行推导 。
5 。利用该方法建立机器学习模型时候的注意事项 。
6 。小案例代码实战 。
7 。项目实战对知识进行巩固 。
数学原理的东西就一步步的推导 , 清晰明了 。因为课程的定位毕竟是中级班 , 还是要有一定的 Python 数据分析的基础 , 不然案例中特征工程的处理方面会花费很多不必要的时间 。
机器学习的课程后面尽管我还没有听 , 但是我觉得整体思路应该跟上面是差不多 , 按照这个思路下来总结好每一步学习的东西 , 不怕学不会 , 就怕自己不学了 。
个人感受课程内容相对来说是没有太大的问题的 , 就课程定位来说也符合其自己说的东西 。最让我觉得适合自己的便是授课清晰的思路和以项目案例为知识落脚点的应用 。
但是毕竟是网课 , 有些服务相对来说就有瑕疵了 , 我觉得主要是以下几个问题 , 如果有公司的人能看到 , 希望能改进一下 。
1 。线上编程的 Jupyter notebook 环境有时候会断开 , 可能因为远程连接的问题 , 不是很稳定 , 然后就要从最开始从头运行一遍 , 不然就会报参数未定义的错误 。不知道其他人有没有遇到 , 也可能我自己网速有问题?所以最后我就自己开 Jupyter notebook 下载下来数据本地跑了 。
2 。项目案例只能交一次 , 搞得我每次只能在服务器上先跑一边再提交 。我不知道这个 emmm 是不是怕一直提交在后台不好整理的问题 , 但是我觉得交个三次以内应该也可以接受吧 , 可以修改一下交作业的次数 , 给几次试错的机会 。
3 。作业交上去以后的批改时间很长吧 , 不知道是不是这个地方业务没有做好 , 还是可能我没有加助教群 , 他们收到作业后不知道是谁的作业没有批改?
4 。助教的微信可不可以一直放在课程某个角落 , 只有购买课程的时候会出现 , 我当时忘了加了 , 碰到问题找了好久 , 又问了销售老师才找到 。
总结就课程内容来说 , 没有什么太大的问题 , 跟着走 , 做笔记、整理课程框架、自己做或者在助教老师的指导下把项目做了 , 达到课程设置的定位和目标是 ok 的 。
但是服务来说就有点差强人意了 , 也可能是线上教学环境吧 , 不体贴的地方都多少会有一点 , 不过能找到人解决就也可以接受 。
开篇叙述的过多 , 可以简单说下一下背景 , 重点说关于自己如何选课的思考返回搜狐 , 查看更多
推荐阅读
- 电视主持人钱枫被曝涉嫌强奸,起底女生身份搞错了重点
- CBA官方:李原宇两年顶薪合同转会加盟青岛男篮
- 新疆套路太深!白菜价续约齐麟,签7份童工合同,怪不得周琦要走
- 做鲅鱼丸子技巧
- 躲在角落里哭的表情包 躲在角落哭图片
- 3消息!新疆续约多名青年才俊!阿不都顶薪5年合约 赵岩昊续约广厦
- 招投标信息APP排名
- 3d建模脸特效怎么弄 3D建模脸
- 吉味家呈现创业新商机,投资优惠大福利好