データマイニングの専門家がプログラムアルゴリズムを使って人生の選択をする

データマイニングの専門家がプログラムアルゴリズムを使って人生の選択をする

[[118153]]

毎年、就職活動の時期になると、どうやって内定を選んだらいいのか、テンセントに行くべきか豆板に行くべきか、外資系企業に行くべきか国内企業に行くべきか、起業すべきか大学院入試を受けるべきか、北京に来るべきか地元に帰るべきか、イノベーションワークスに行くべきかどうかなど、たくさんの質問メールが届きます。 ThoughtWorksに行くべきでしょうか? …等々。今年7月から現在までに、私は60通以上のそのようなメールを受け取り、返信してきました。私は彼らの考えを整理し、彼らが最も望んでいることを理解するのを手伝います。 (注:今後、同様のメールには返信しません)。

私たちの国で親や教師があらゆることを手配して育ってきた私たちのような人間にとって、ある日親や教師が対応できなくなったとき、どのように選択をしたらよいのかほとんどわからなくなるということを深く理解しました。そして最近、Amazonを辞めて転職したのですが、そんな時にこのような記事を書こうと思ったのです。

いくつかの例

都市、企業規模、企業の性質、給与、プロジェクト、世帯登録、テクノロジー、方向性、ビジョンなど、私たちの選択に影響を与えるさまざまな要因に直面すると、常に複数の企業の間で何らかの問題に巻き込まれることになります。以下にいくつかの例を示します。

  • あるネットユーザーは、規模が大きいからという理由で上海のテンセントに入社したが、給料は豆板ほど高くなかった(かなり低かった)と私に言った。将来転職したい場合、初任給は将来の高給に直結する。私は豆板に行こうと言いましたが、彼は豆板は北京にあり、汚染がひどく、戸口がないと生活環境が良くないと言いました。私はテンセントに行くことを提案したが、テンセントは最近組織調整を行っており不安定だと言った。それなら、ゆっくりと着実に発展している Douban に行ってください、と私は言いました。同氏は、Douban の収益性は不明瞭であり、Python を使用していた点が気に入らないと述べた。テンセントに行こうって言ったんだけど…
  • 別のネットユーザーは、故郷にはより良いコネクションがあり、人生がうまくいく可能性があるので、故郷に戻りたいと私に話した。しかし、視野を広げるためにも大都市に留まりたいと思っています。
  • 別のネットユーザーは、英語を練習し、視野を広げるために外資系企業に入社したいが、単なる歯車になってしまい自分のアイデアを実行できないのではないかと不安だと私に話した。友人は彼にビジネスを始めるよう頼みました。起業は良い考えだし、多くの訓練にもなるだろうと考えたからです。しかし、友人がそれをうまくできるかどうかはわかりませんでした。
  • 別のネットユーザーは、イノベーションワークスのチームに入るか、大学院入学試験を受けるかの選択をしています。イノベーションワークスのプロジェクトは平均的だと思うので、参加できるかどうかはわかりませんが、チームは非常に熱心だと感じています。一方で、自分の学歴が十分ではなく、大学院の学位を取得すればもっと良い仕事が見つかるはずだと感じています。
  • 友達の中には、どんな技術を学べばいいのかと尋ねる人もいました。学ぶべきではないスキルは何ですか?あるいは、最も速く学ぶにはどうすればいいでしょうか、技術的な道筋はどうあるべきでしょうか?バックエンドだけを担当し、フロントエンドは担当しないという人もいれば、アルゴリズムの研究だけを担当し、エンジニアリングは担当しないという人もいます。人生には限りがあり、誰もが自分の得意分野を持っていると感じているからです。

待って、待って…

個人的には、コンピュータサイエンス専攻の家庭に生まれなければ、選択ができず、どの道を進むべきか分からないと思います。しかし、コンピュータサイエンス専攻の家庭に生まれた私たちはアルゴリズムを学んでおり、アルゴリズムを理解している人は選択の仕方を知っているはずです。

ソートアルゴリズム

すべてを手に入れることはできないので、自分にとって最も重要なものだけを望むことができます。何が最も重要であるかを知りたい場合は、自分の心の中の欲望と野望を明確に理解する必要があります。そうしないと、絡み合いに巻き込まれてしまいます。

したがって、選択に苦労している人は、ソートアルゴリズムを参照する必要があります。

まず、最も参照する必要があるのは「バブルソート」です。このアルゴリズムの考え方は、毎回ランダムな数字をバブルアウトすることです。したがって、自分の選択に影響を与える要因のうち、1 つしか選択できない場合はどれを選択するかを自分自身に問いかける必要があります。残りは放棄することができます。したがって、数字を一つずつ泡立てて、この決定要因を使用してオプションをフィルタリングすると、何を選択すべきかがより簡単にわかるようになります。このアルゴリズムによれば、気が散る要素が少ないほど、選択が容易になります。

さて、おそらくあなたは 2 つの決定要因の大きさをどのように比較するかについて混乱しているのではないでしょうか。たとえば、給与 > ビジネスの見通しのどちらが重要かがわからない、などです。事業展望 > 能力向上?つまり、バブリング法を実行する方法は絶対にありません。次に、「クイックソート」というアイデアを参考にするといいでしょう。このアルゴリズムは、最初に最も高い数字を見つける必要がないことを示しています。価値体系から特定の基準を取り出し、その値を満たすものを右側に、満たせないものを左側に配置するだけでよいのです。たとえば、給与が 5,000 元を超え、事業見通しが 3 年を超える企業を基準とする場合は、この基準を使用してオプションをフィルタリングできます。その後、基準を調整して再帰的に続行できます。このアルゴリズムによれば、選択基準が明確であればあるほど、選択が容易になります。

これらは最も古典的な 2 つのソート アルゴリズムであり、面接でテストされます。あなたはすでにそれを暗記していると思います。したがって、このアルゴリズムを人生の選択に適用することは問題にならないと思います。問題は、あなたが何を望んでいるか知っているかどうかです。

ソート アルゴリズムの中心的な考え方は、最も必要なものと最も欲しいものを認識し、それに基づいて選択できるようにすることです。

貪欲アルゴリズム

いわゆる貪欲アルゴリズムは、結果が最良または最良になることを期待しながら、各ステップで現在の状態(注: 現在の状態)で最良または最良(つまり最も好ましい)選択を行うアルゴリズムです。貪欲アルゴリズムの最も典型的な例はハフマン符号化です。

人間の場合、ほとんどの人は物事を行うときに貪欲なアルゴリズムを使用します。

例えば、お釣りを渡すときに、36元を渡す必要がある場合、通常は20元、10元、5元、1元の順番でお釣りを渡します。

または、交差点を渡っているときに対角ブロックに行きたい場合も、貪欲アルゴリズムを使用します。つまり、最初に青信号が点灯した側に行き、その後 90 度回転して赤信号を待ってから道路を渡ります。

そういった例はたくさんあります。選択をするとき、ほとんどの人は比較的単純なアルゴリズムである貪欲アルゴリズムを選択します。未来はあまりにも複雑なので、一度に一歩ずつ進み、現在の状況下で自分にとって最善の判断と選択を行うことしかできません。

給料に貪欲な人もいれば、プロジェクトに貪欲な人もいれば、ビジネスに貪欲な人もいれば、地位に貪欲な人もいれば、自分の利益に貪欲な人もいます...これらには何も問題はありません。貪欲アルゴリズムには何ら問題はありません。これは最適なグローバル ソリューションではありませんが、ローカルの最適なソリューションや次善のソリューションを見つけるのに役立ちます。実際のところ、最適ではない解決策があるのは良いことです。貪欲アルゴリズムは、基本的に、素早い成功と即時の利益を求めるアルゴリズムですが、だからといって悪いアルゴリズムというわけではありません。貪欲が長期的かつ持続可能なものであれば、悪い考えではありません。 。

#p#

動的プログラミング

しかし、ほとんどの問題では、貪欲法では一般にすべての可能な解決策をテストしないため、通常は最善の解決策を見つけることができないことが分かっています。貪欲アルゴリズムは近視眼的な動作であるため、現在の状況に基づいて判断するだけであり、つまり決定が早すぎるため、最善の解決策に到達できません。

動的プログラミングと貪欲アルゴリズムの最大の違いは、貪欲アルゴリズムでは選択が行われ、元に戻ることができないことです。動的プログラミングでは、以前の計算結果を保存し、以前の結果に基づいて現在の選択を行い、ロールバック機能を備えています。

動的プログラミング アルゴリズムは、少なくとも次の 2 つのことを教えてくれます。

1) 過去と未来を結びつけることは非常に重要です。トラバースする準備ができたら、過去の経験は将来の経験を切り開くだけでなく、その後の経験にも役立ちます。あなたが踏み出す一歩は決して無駄にはなりません。

2) ロールバックが可能かどうかも重要です。つまり、目の前に 2 つの選択肢があり、1 つは会社 A で、もう 1 つは会社 B である場合、今日会社 B を逃しても、明日取り戻すことができるのでしょうか?

たとえば、2 つのオファーがあり、1 つは Yahoo、もう 1 つは Baidu です。上記の点から、Yahoo と Baidu のどちらがより大きなプラットフォームを開くことができるかを考えます。上記の 2 番目のポイントは、Yahoo に参入した後に正しい選択をしなかった場合、Baidu に戻ることができるかどうかを教えてくれます。それとも、百度に入社した後、ヤフーに戻るのは簡単なのでしょうか?

ダイクストラ最短経路

最短経路は、Greedy + DP アルゴリズムです。かなりクラシックですね。このアルゴリズムの一般的な考え方は次のとおりです。

1) 初期化時に、すべてのノードは私と比較して無限に大きくなり、デフォルトでは到達不可能になります。

2) 最も近いノードから貪欲に開始します。

3) 歩いてどのようなノードに到達できるかを確認し、すべてのターゲット ポイントまでの距離を計算して更新します。

4) 次に、原点までの距離が最短のノードを貪欲に探し、このプロセスを繰り返します。

このアルゴリズムにより、いくつかの洞察が得られます。

ある友人は、建築家か特定の技術分野の専門家になりたいと言っていました。彼はその目標に向かって着実に努力し、決して諦めないと言っていました。私は彼を励まし続けましたが、この有名なアルゴリズムも教えました。このアルゴリズムは、あなたと建築家や特定の分野の専門家との距離が現時点では無限大であることを教えてくれると言いました。それを心に留めて、まず何が得られるか考えてみてください。現実的であるということは、現実的な方法で目標を追求するということではなく、自分の手の届く範囲にあり、周囲で目に見える範囲のことをうまくやるということです。地元を離れて就職したばかりの頃、技術者になろうとは思ってもいなかったし、自分のブログがこれほど影響力を持つようになるとも思っていなかったことを今でも覚えています。自分の能力の範囲内で、目に見えるもの、触れるものをやっていました。目にした技術は何でも学び、学んでいくうちに、より簡単に、より確実に学ぶ方法を見つけました。これが私の最短の道なのかもしれません。

多くの友人から、C++ を学ぶべきか、Python や Ruby を学ぶべきか、フロントエンドを学ぶ必要はないのか、などと聞かれました。これらの友人たちは、使わないと忘れてしまうし、それぞれが自分の専門知識を持っているので、複数の言語を学ぶのは不可能だと言いました。これには何も問題はありませんが、個人的には、何かを学ぶには必ずしも 2 つの状態、つまり、学んでいない状態と習得している状態だけがあるわけではないと感じています。技術を理解するのにそれほど時間はかかりません。Java をより深く理解するために C++ を学び、ソケット プログラミングをより深く理解するために TCP/IP プロトコルを学びました。多くのことは関連し、補完し合っています。C/C++/Unix/TCP などの基本的な技術を学んだ後、他の技術への道が短くなったことに気づきました (これが、Go 言語を 2 日で学んだ理由です)。それはこのアルゴリズムのようなものです。このアルゴリズムは効率的ではありません。目標を達成するために、最初は長い時間を費やし、多くの場所を横断するかもしれませんが、これが最短のパスである可能性があります。

アルゴリズムはトレードオフ

望むものをすべて手に入れることはできません。どんな選択も諦めることを意味します。何かを手に入れたいときは、必ず何かを諦める必要があります。人生はシーソーのようなものです。片側が上がれば、もう片側は必ず下がります。これは、ソフトウェア設計やアルゴリズム設計を行うときに、時間を空間と交換し、空間を時間と交換し、CAP 理論を適用する場合と同じです。このフレーズの本来の意味どおり、常に多くのトレードオフが存在します。つまり、常に何かを何かと交換する必要があるのです。

私たちは皆、何かを使って未来を交換しています。自分の努力を交換する人もいれば、自分の考えを交換する人もいれば、若さを交換する人もいれば、自分の自由を交換する人もいれば、自分の価値観を交換する人もいれば、自分の道徳観を交換する人もいます。お金を交換する人もいれば、ビジョンを交換する人もいれば、経験を交換している人もいれば、地位を交換する人もいれば、能力を交換する人もいれば、自由を交換する人もいれば、利益を交換する人もいれば、虚栄心を交換する人もいれば、快適さと楽しみを交換する人もいます。

誰もが独自のアルゴリズムを持っており、各アルゴリズムには独自の目的があります。全員が同じアルゴリズムを使用していたとしても、各人のアルゴリズム内の変数、スイッチ、条件は異なり、得られる結果も異なります。私たちはマトリックスに生きるプログラムです。私たちのアルゴリズムはそれぞれ選択を決定し、選択が私たちの人生を決定します。

オリジナルリンク: http://www.36dsj.com/archives/2757

<<:  Google 検索は年間 890 回以上改善され、そのコア アルゴリズムは毎日変更されます。

>>:  検索エンジン技術のランキングアルゴリズムを解読する

ブログ    
ブログ    
ブログ    

推薦する

...

...

クラウドとジェネレーティブ AI の今後の動向

絶えず変化するビジネス環境において、データは驚くべき速度で増加しています。データの急増により、あらゆ...

企業向けローコードAI開発プラットフォーム

ソフトウェアとアプリケーションは今日世界を支配しており、ビジネスを成功させるにはトレンドに遅れずにつ...

DAMOアカデミーは、初めて半教師あり知識注入を使用して、新しい事前トレーニング済み対話モデルを立ち上げ、大幅な改善を達成しました。

ディープラーニングの急速な発展に伴い、テキスト分類、感情分析など、学術界では毎年多くの高品質な注釈付...

クアルコム副社長ライナー・クレメント氏:「5G+AI+クラウド」は将来の産業をどのように変えるのでしょうか?

2019年国際産業インターネット革新・開発フォーラムがこのほど、第2回中国国際輸入博覧会で開催され...

未来の世界:すべてが AI になる?

人工知能は私たちの日常生活にますます大きな影響を与えており、研究分野に革命をもたらしています。 ET...

強化学習とゲーム理論を活用して、EAのテストAIは賢いものになった

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ディープラーニングの台頭から10年:OpenAIのイノベーターたち

AlexNet、AlphaGo、GPT、CLIP、DALL-E、Codex、これらはAIの世界でセン...

ビジネス上の問題を機械学習の問題に変換するにはどうすればよいでしょうか?

[[196752]]機械学習が価値を変革するための最も重要なステップは何ですか?ビジネス上の問題に...

生体認証技術丨「ブラックテクノロジー」で体のパスワードを解読

生体認証技術は、身体本来の生理学的特性や行動特性を利用して、コンピューターで個人を識別します。生理学...

...

人工知能に適した9つのプログラミング言語

[[436583]] [51CTO.com クイック翻訳]人工知能という用語は、20 世紀半ばに生ま...

産業用ロボットの 4 つのプログラミング技術のうち、いくつ知っていますか?

1. 概要現在、ロボットは溶接、組み立て、ハンドリング、塗装、研磨などの分野で広く利用されており、...

...