-
1 # MockingMen
-
2 # 夜色燈火74349298
演算法工程師,,,不是能做幾個腦筋急轉彎和奧數題,你就可以當演算法工程師了,,,數學天賦是必備的,軟硬體知識儲備廣,,,
-
3 # 王迪jack
很有前景。
尤其產業網際網路、智慧AI技術蓬勃發展。
找一個大公司學習一下,以後可以自己創業,上升空間也比較多,做管理,做學者,做研究員,進研究院,做演算法變現等等。
-
4 # 哎呦658
演算法原理整合學習(ensemble leaning)透過構建並結合多個學習器來完成學習任務,透過將多個學習器結合,常常可以獲得比單一學習器顯著優越的效果和泛化能力。整合學習中的基學習器可以是同質的,也可以是異質的。根據個體學習器的生成方式,目前的整合學習方法大致可分為三大類:一類是Bagging,個體學習器之間不存在強依賴關係,可以同時並行化訓練和生成,最終結果通常透過投票機制產出,隨機森林是這一型別的代表;另一類是Boosting,個體學習器之間存在強依賴關係,後一學習器依賴前一學習器的結果,,因此必須以序列化形式序列生成,我們下節會講到的Adaboost和GBDT是這一型別的代表;其實還有第三類,叫Stacking,即將初級學習器的輸出次級學習器的輸入特徵,深層神經網路甚至可以理解為Stacking整合學習的變種。
隨機森林(Random Forest)是以決策樹為基學習器構建的Bagging整合學習演算法,其實現簡單、計算開銷小、並且在很多現實任務中表現出搶眼的效果。其主要透過樣本擾動和屬性擾動使得整合學習的泛化性顯著提高。樣本擾動是指透過對初始訓練集取樣構建每一棵決策樹;屬性擾動是指對基決策樹的每個節點,分裂時從該節點的屬性集合中隨機選擇k個屬性(k一般去log(d,2),d為屬性數量)。
模型訓練程式碼地址:https://github.com/qianshuang/ml-exp
def train():
print("start training...")
# 處理訓練資料
train_feature, train_target = process_file(train_dir, word_to_id, cat_to_id)
# 模型訓練
model.fit(train_feature, train_target)
def test():
print("start testing...")
# 處理測試資料
test_feature, test_target = process_file(test_dir, word_to_id, cat_to_id)
# test_predict = model.predict(test_feature) # 返回預測類別
test_predict_proba = model.predict_proba(test_feature) # 返回屬於各個類別的機率
test_predict = np.argmax(test_predict_proba, 1) # 返回機率最大的類別標籤
# accuracy
true_false = (test_predict == test_target)
accuracy = np.count_nonzero(true_false) / float(len(test_target))
print()
print("accuracy is %f" % accuracy)
# precision recall f1-score
print()
print(metrics.classification_report(test_target, test_predict, target_names=categories))
# 混淆矩陣
print("Confusion Matrix...")
print(metrics.confusion_matrix(test_target, test_predict))
if not os.path.exists(vocab_dir):
# 構建詞典表
build_vocab(train_dir, vocab_dir)
categories, cat_to_id = read_category()
words, word_to_id = read_vocab(vocab_dir)
# kNN
# model = neighbors.KNeighborsClassifier()
# decision tree
# model = tree.DecisionTreeClassifier()
# random forest
model = ensemble.RandomForestClassifier(n_estimators=10) # n_estimators為基決策樹的數量,一般越大效果越好直至趨於收斂
train()
test()執行結果:
ead_category...
read_vocab...
start training...
start testing...
accuracy is 0.875000
precision recall f1-score support
娛樂 0.83 0.91 0.87 89
房產 0.78 0.83 0.80 104
教育 0.81 0.81 0.81 104
家居 0.75 0.71 0.73 89
遊戲 0.93 0.95 0.94 104
時政 0.78 0.79 0.78 94
時尚 0.94 0.89 0.92 91
體育 0.98 0.97 0.97 116
財經 0.95 0.91 0.93 115
科技 0.99 0.96 0.97 94
avg / total 0.88 0.88 0.88 1000
Confusion Matrix...
-
5 # 知識時刻
發展前景好的很!
1.想要通關大廠面試,千萬別讓資料結構和演算法拖了後腿
2.業務開發工程師,你要做一輩子的CRUDboy嗎?
3.我們平時用到的很多業務開發框架,其實底層都糅合了很多資料結構和演算法的設計思想
4.掌握演算法與資料結構,用利於我們看懂開發原始碼,理解框架背後的真實含義。
5.掌握演算法與資料結構,在開發過程種,看待問題的深度,解決問題的角度將會大大不同。
-
6 # 蘑菇家小蝸牛
演算法工程師有很多種細分方向,資料探勘,計算機視覺,自然語言處理等。現在ai風靡全球,催生了大量深度學習演算法工程師,特別是在咱們國家。2018年下旬之後,各大高校陸續開設研究生、本科生人工智慧專業,各個專業的都在轉AI相關方向,彷彿只有與AI沾邊的才能找到工作。現在的市場行情很明顯供大於求,但大多是自稱AI演算法工程師只不過是調參工程師,相關領域的前沿論文估計都不怎麼看過。但AI這個領域很明顯是一個朝陽行業未來幾年,AI需要研究的東西還有很多,例如:可解釋行,少量樣本學習等。另外現在深度學習模型的部署也是一個值得研究的方向.
回覆列表
我覺得演算法推薦工程師是一個很有前景的職業。
推薦說白了就是做排序,想想我們生活中的排序吧。開啟美團每個分類下都有排序,開啟淘寶商品也都是做了排序的,再開啟攜程還是各種排序。可見排序在我們生活中是隨處可見。當然推薦演算法還可以在廣告投放,訊息推送上大放異彩。
以前人們是苦惱沒得選擇,現在人們的苦惱是選擇太多而不知道選哪個,現在很需要這種推薦演算法來輔助使用者做選擇。
在一些傳統企業中,手裡有大量的使用者資料,但是卻發揮不出價值來。如果有推薦演算法也許就可以從中發現商機。
總之推薦演算法工程師前景是很好的,在以後這方面的需求肯定會越來越多的。