总结——从小白到机器学习入门

从零开始学习机器学习,经历从入门到实践的过程。包括基础知识的学习、项目实战经验积累、特征工程和模型选择等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        2017年是进步比较快的一年,学到了很多东西,找到了自己喜欢的方向,朝着方向不断努力;第一次接触到人工智能,机器学习领域,有导师带着做项目,参赛,实习,继续自我提升。

        第一次接触到人工智能领域是在3月份,选了人工智能这门课,算是半个科班生吧,教材比较枯燥,老师讲得也比较单调,上到后面基本上就只有几个人在听了。但是内容涉及比较全面,包含了离散数学的逻辑推理(断言,子句),搜索算法(A*算法),粗糙集(上界,下界),遗传算法,感知机等等的。也不可能面面俱到讲得很详细,大部分都是相当于科普一样讲解一下公式,有的部分会讲解推一推导数学公式,但是也很难记得住,毕竟老师是数学专业的,我们不是。

        转折点应该是在一个月后,老师鼓励我们都去参加比赛,参赛可以当作实验课作业提交,于是我也懵懵懂懂地报了名。刚开始的时候简直崩溃,机器学习的算法全都没接触过,看不懂原理,看不懂公式,无从下手。于是自己从校门口的二手书店买了本《机器学习实战》,用了半个月时间撸完了,撸完之后才算是有点明白机器学习是什么东东。于是就开始直接上手比赛项目了,边干边学,用的也是广为人知的python+sklearn,直接调用api,套数据,出结果。

        刚刚开始什么都不懂,不懂得做特征工程,不懂得最优化,只是直接套用算法,结果不好就直接换另一种,也没有去分析为什么效果不好原因是什么。所以就是导致了只停留在应用的层次,甚至连应用都算不上,因为压根就没有对模型进行优化,模型还没有拟合就直接被舍弃了。于是就开始慢慢的增加学习的深度,继续钻研算法的原理。上网看博客,奔走于图书馆和宿舍之间,看了很多资料,总算是把几个基本模型的算法逻辑弄清楚了,特别熟悉的是树结构的模型(ID3,C4.5,GBDT,随机森林)。因为决策树的(拓展)模型参数比较少,一般不需要调参,于是对于当时初学的我来说比较钟爱。况且现在回想起来,当时项目的特征也是真的少。

        算法熟悉了点之后,就开始全身心投入到项目中。机票代理市场的分析预测,预测未来的机票销售量。说到回归,应该说应用场景是非常广泛的,在机器学习当中也占据了不少的分量,但是回归想要做好,也是不容易的。不过有所进步的是懂得了剖析数据,根据数据的特点设计特征,效果也算是有所好转,具体的均方误差已经记不得了,但是对于小白来说已经是一大进步了。

        特征工程是机器学习方面一个非常重要的步骤,数据排第一,特征工程就排第二,算法模型是没办法有太大提升的,所以最后才选模型。正因为这一步骤重要,所耗费的时间也很多,于是我花费了大概一个多月的时间去造特征,找数据规律,实验,调参拟合,到最后连做梦都梦见了自己在造特征,已经到了这种醉生梦死的地步了。到最后因为实验说明了一切,因为自己还不具备数学推导分析的能力,只能迷信于实验的结果,就选了大概20来个特征,大概思路就是平均销量‘’昨日的销量、周同日销量、图的出度和入度等等的特征。放在今天来理解的话,可以视为时间序列的预测,使用马尔可夫链或是RNN都是可以解决的。

        除了特征工程,另外比较重要的就是要回归到原始数据当中,数据往往具有大量的噪声、缺失值,于是就开始了清洗数据的阶段,于是又过了半个月。折腾来折腾去还是决定直接丢掉缺失的数据,用其他方法补齐都是性价比不高的做法。然后就到了选模型调参数了,后面也没做太大改动,效果差不多就提交作品了,顺利进了决赛。决赛由于时间冲突所以没去现场答辩,只得了三等奖。这整个过程还得感谢导师的悉心指导,明确的指引让我少走了很多弯路。

        这前前后后经过了四五个月的时间,学到了很多进步了很多,但其实还没算入门,因为到现在为止我还只是会调用api而已,大部分算法也讲不清楚,为什么这个模型出来结果好也没办法分析清楚。可能这就是速成带来的危害之一。于是我开始自己深入钻研原理,通过资料和博客。没有项目只通过看资料自学是比较零散的,知识点很多,学一下东边,学一下西边,到头来什么都没学会。

        这时候准备秋招了,我也跟风投了大厂,也有自己一边在找实习。后来就找到了家实习,大数据初创公司,在里面做爬虫,每天就是爬不同的网站,做不同网站的接口,偶尔网站html结构变了还要改接口。刚开始还很有热情,越到后来就越感到无趣无聊。也正是这个时候,公司来了位CTO,有机器学习背景,开始改变公司的发展规划,要安排人做数据挖掘的应用,他刚好看了我的简历,就把我安排过去做文本数据的分析和挖掘了。

        先后负责了公司的几个小项目,要素提取,文本相似度,文本分类。有项目边做边学是进步特别快的,比自己盲目的学要好多了,因为多了一个目标,你只有朝着目标不断前进,才能找到项目优化的方法,同时CTO直接一对一指导工作,让我事半功倍。现在回想一下,还多亏了他我才能走到今天,否则我可能已经放弃了机器学习了,感谢命运的安排。

        从项目中应用的技术领域来看,我开始步入了NLP方向,是机器学习的下一级应用方向,同时也往深度学习慢慢拓展。不过我本人的数学基础不算特别好,有很多公式还没理解透彻,所以在深度学习方向学得比较慢,反而在传统机器学习和NLP上面有了一定的造诣。在这里主要讲一下NLP的学习过程,第一件事无疑是中文分词。从刚刚接到任务开始,什么都不懂,开始找资料,看博客,一点一点的开始学,对于中文分词可谓是又爱又恨。作为半个科班生,也不全是科班生,不知道有什么现成的工具可以用,于是一开始就精读了每一篇中文分词的文章,基于词典的,基于概率的分词方法都看透了一遍了,还准备要撸起袖子自己写的,结果才找到了一系列NLP工具(ansj,jieba等等)。但是也有好处,基础就先筑好了,上面盖的楼层也稳固了。

        然后开始提关键词,造特征,算相似度,推荐,分类。这一个过程一走就是半年的时间,由于是初创公司,只有我一个人在做研发,一把辛酸泪。CTO由于要管整个大部门,业务比较繁重,后来也很少参与进来,加上我进步比较快,很多基础知识点都掌握了,也放手让我自己干了。TF-IDF,LDA这些掌握了之后就开始了漫长的实验过程,就是要回归数据的阶段了,数据有什么特点,设计什么特征才能让效果变好,正是这个过程让我不断突破,不断创新,对机器学习有了自己的认识,也增长了自己项目经验。历时半年,两个项目,一个人完成,也算是给自己有了一个交代。今天,我终于可以对自己说,算是入门机器学习了。具备了独立思考的能力,掌握了基础算法原理,基础公式,能从结果分析出原因,找到解决方案,熟悉工具,能看懂中文paper并且自己实现出来,还能对比不同paper之间的优劣。

        从去年3月份开始,到现在,将近一年的时间,我自认为这个成绩可以有所交代了,毕竟还没有正式毕业,还没拿到毕业证,还是个实习生的身份,还有很长的路要走。在接下来的工作和学习当中还是要严格要求自己,多点探索原因,才能够更快的进步。

### 关于AI大模型学习资源和入门指南 对于希望进入AI大模型领域的新手而言,获取高质量的学习材料至关重要。一份详尽的基础教程能够帮助理解复杂的概念并提供实践指导[^2]。 #### 推荐的学习路径 - **理论基础**:掌握机器学习、深度学习的核心原理以及数学基础知识,如线性代数、概率论等。 - **工具和技术栈**:熟悉Python编程语言及其生态系统内的库,比如TensorFlow, PyTorch等框架;了解云计算平台提供的服务和支持。 - **项目实战**:参与开源社区贡献代码或完成个人项目来积累实际操作经验。尝试构建简单的神经网络,并逐步过渡到更复杂的大规模预训练模型的应用场景中去。 #### 获取优质教育资源的方式 为了便于初学者快速上手,这里特别推荐一些经过精心挑选的公开课程与文档: - **官方文档与博客**:阅读来自各大科技公司发布的技术博客文章,这些往往包含了最新的研究成果和发展趋势介绍[^1]。 - **在线教育平台**:Coursera、edX等网站提供了由顶尖大学教授讲授的相关课程,涵盖了从零开始直到高级主题的内容覆盖范围广泛。 - **社交网络交流群组**:加入LinkedIn、Reddit等相关论坛,在那里可以找到志同道合的人一起讨论问题、分享心得体验。 针对特定应用场景下的挑战——例如在嵌入式设备上的部署难题,则需额外关注轻量化架构设计思路及边缘计算解决方案的研究进展[^3]。 ```python import torch from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertModel.from_pretrained('bert-base-uncased') text = "Replace me by any text you'd like." encoded_input = tokenizer(text, return_tensors='pt') output = model(**encoded_input) print(output.last_hidden_state.shape) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值